簡體   English   中英

Django錯誤:“函數”對象沒有屬性“保存”

[英]Django Error: 'function' object has no attribute 'save'

有人可以告訴我我做錯了嗎?

模型

class Cattest(models.Model):
category = models.ForeignKey(Category)    
info = models.CharField(max_length=35, blank=True)    

表格

class CattestForm(forms.Form):
autocomplete = forms.CharField(
    label='Type the name of a category (AutoCompleteWidget)',
    widget=selectable.AutoCompleteWidget(CategoryLookup),
    required=False,
)
info = forms.CharField(max_length=35, label="Information")   

view.py

def cattest(request):
if request.method == 'POST':
    form = CattestForm(request.POST)
    if form.is_valid():
        cattest.save()        
else:
    if request.GET:
        form = CattestForm(initial=request.GET)
    else:
        form = CattestForm()
return render_to_response('bsmain/form.html', {'form': form}, context_instance=RequestContext(request))    

追溯:

/ bsmain / cattest /中的AttributeError

“功能”對象沒有屬性“保存”

請求方法:POST請求URL: http : //127.0.0.1 : 8000/ bsmain/ cattest/ Django版本:1.3.1異常類型:AttributeError異常值:

“功能”對象沒有屬性“保存”

異常位置:cattest中的/home/bill/workspace/boatsite/../boatsite/bsmain/views.py,第50行Python可執行文件:/ usr / bin / python Python版本:2.6.5

您的視圖中有一個type-o。

您正在cattest.save()的函數上調用save() ,我認為這應該在表單上? 您可能需要查看ModelForm它提供了一種直接映射到您的模型的表單,看起來就像您在做的那樣。

https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#django.forms.ModelForm

您使用的表單只是普通表單,沒有保存方法。 在對ModelForm進行子類化之后,您可以在表單實例上調用save。

if your_form.is_valid():
  your_form.save()

您正在函數本身上調用保存方法。 這就是錯誤背后的原因。 如果您正在尋找要保存的表格,則:

if form.is_valid():
    form.save()

class CattestForm(forms.Form):應該是class CattestForm(forms. Model Form):

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM