我在表单中有一个名为“hof”的复选框按钮,如果我单击表单中的复选框并发送,它可以工作,但是如果我取消选中它拒绝发送,我得到的是这个字段是必需的。在
这是我的模型
class CreateSingleSigner(models.Model):
firstname = models.CharField(max_length = 32)
middlename = models.CharField(max_length = 32)
lastname = models.CharField(max_length = 32)
displayname = models.CharField(max_length = 32)
era = models.CharField(max_length = 11)
category = models.CharField(max_length = 32)
hof = models.BooleanField()
externallink = models.CharField(max_length = 70)
loaprice = models.FloatField(max_length = 10)
basiccertprice = models.FloatField(max_length = 10)
appraisalcost = models.FloatField(max_length = 10)
notability = models.CharField(max_length = 32)
如果我的观点是
^{pr2}$这是我的表格
class CreateSingleSignerForm(forms.ModelForm):
firstname = forms.CharField(max_length = 32, required = True, help_text = "firstname")
middlename = forms.CharField(max_length = 32, required = True, help_text = "middlename")
lastname = forms.CharField(max_length = 32, required = True, help_text = "lastname")
displayname = forms.CharField(max_length = 32, required = True, help_text = "displayname")
era = forms.CharField(max_length = 11, required = True, help_text = "era")
category = forms.CharField(required = True, help_text = 'category')
hof = forms.BooleanField(required=False, help_text = 'hall of fame')
notability = forms.CharField(max_length = 11, required = True, help_text = 'notability')
externallink = forms.CharField(required = True, help_text = "externallink")
loaprice = forms.FloatField(required = True, help_text = "loaprice $")
basiccertprice = forms.FloatField(help_text = "basiccertprice $")
appraisalcost = forms.FloatField(help_text = "appraisalcost $")
class Meta:
model = CreateSingleSigner
fields = ('firstname',)
您不应该为表单上的
BooleanField
设置初始值。在您还使用了一个
ModelForm
,没有必要在表单中重写模型的逻辑。在表单.py:
如果要坚持代码,则从
^{pr2}$forms.Form
而不是forms.ModelForm
继承并指示Django保存复选框的未选中状态:最好在您的
models.py
中为hof
设置一个默认值,以保证可读性。在试着改变形式
到
^{pr2}$相关问题 更多 >
编程相关推荐