我正在尝试使用“instance”参数初始化一个对象,但它没有进入表单。这是必需的,因此 is_valid 失败。有人可以建议吗,我几乎可以肯定这是一个简单的错误,但无法发现。
形式:
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():
最后一行验证为 False。
欢迎任何帮助。
谢谢,伊戈尔