我想用“实例”参数初始化一个对象,但它没有进入窗体。这是必需的,所以is_valid失败。有人可以请指教,我几乎肯定这是一个容易的错误,但无法发现它。ModelForm“实例”参数和外键字段
FORM:
from django.forms import ModelForm
from tagging.forms import TagField
class BusinessEditForm(ModelForm):
tags = TagField()
class Meta:
model = Business
exclude = ('owner', 'pub_date')
逻辑在views.py
if businessid:
b = Business.objects.get(id=businessid)
category = b.category
assert(b.owner == request.user) or request.user.is_staff
#form = forms.BusinessEditForm(request.POST, instance=b)
else:
assert category.is_public or request.user.is_staff
b = Business(owner=request.user, category_id=category.id)
# form = forms.BusinessEditForm(request.POST, instance=b)
isNew = True
if request.method == "POST":
form = forms.BusinessEditForm(request.POST, instance=b)
if form.is_valid():
最后一行证实为假。
任何帮助,欢迎。
感谢, 伊戈尔
如果你把'BusinessEditForm'类(它是否继承自ModelForm?)会有所帮助。 – 2012-01-16 08:45:10
感谢,原始消息中更新,但基本上答案是肯定的) – 2012-01-16 09:08:35