[英]ModelForm won't validate because missing value, but model field has null=True
我有一個問題,我的ModelForm
試圖將''
分配給一個字段(如果我實際上提供了Product
的主鍵,它可以很好地保存,但它不是必填字段,並且如果將該字段留空則不會保存) 。 我認為ORM試圖將該字段設置為''
但是:
''
強制為None
,並且; None
擺在首位,而不是''
? models.py
class Question(models.model):
fk_product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True, related_name="product_question")
forms.py
class QuestionForm(forms.ModelForm):
fk_product=forms.ChoiceField(required=False)
class Meta:
model = Question
fields = ['fk_product',]
錯誤:
無法分配“''”:“ Question.fk_product”必須是“ Product”實例。
產生錯誤的視圖代碼:
QuestionModelFormset = modelformset_factory(Question,
form=QuestionForm,
extra=1)
question_formset = QuestionModelFormset(
data=request.POST,
files=request.FILES,
queryset=Question.objects.all())
if not question_formset.is_valid(): #error occurs on this line
也嘗試添加blank=True
。
null=True
表示該字段在數據庫中允許為NULL。
blank=True
表示可以不帶任何值的形式提交。 否則,它必須具有價值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.