[英]django many2many field make not required
我創建了一個基於模型的表單。 該模型有許多領域。 我定義了這樣的字段:
contacts = models.ManyToManyField(Contact, blank=True, null=True)
我現在想知道為什么生成的表單說這個字段不能為空。 當我沒有為聯系人字段選擇聯系人時,我總是收到錯誤消息“此字段是必需的。”。
什么錯了?
在您的表單聲明中,將此字段標記為required=False
class MyForm(forms.ModelForm):
contacts=forms.ModelMultipleChoiceField(queryset=Contact.objects.all(),required=False)
class Meta:
model=MyModel
可能你在添加blank=True, null=True
之前做了syncdb
嗎?
syncdb
只會在數據庫中不存在時創建表。 模型的更改必須直接使用SQL或使用遷移工具(如South)在數據庫中手動完成。
當然,如果您仍處於早期開發階段,則刪除數據庫並再次運行syncdb
會更容易。
你在這里使用null = True會讓人感到困惑。 manyToMany字段導致第三個表將一個模型與另一個模型相關聯。 例如
Business <-> Contact
如果business.contacts
為空,則不會在此表中輸入任何記錄。 null=True
會讓我覺得你打算將NULL
記錄添加到這個表中,這似乎沒有效果。
通常,您將關閉這兩個屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.