繁体   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