Syn*_*ead 28 forms django field modelform required
如何在ModelForm中创建某些字段= False?
如果我有:
class ThatForm(ModelForm):
class Meta:
widgets = {"text": Textarea(required=False)}
Run Code Online (Sandbox Code Playgroud)
或者,如果我有:
class ThatForm(ModelForm):
text = Textarea(required=False)
Run Code Online (Sandbox Code Playgroud)
Django回归:
__init__() got an unexpected keyword argument 'required'
Run Code Online (Sandbox Code Playgroud)
yed*_*tko 44
以下是评论.可能是:
class ThatForm(ModelForm):
def __init__(self, *args, **kwargs):
# first call parent's constructor
super(ThatForm, self).__init__(*args, **kwargs)
# there's a `fields` property now
self.fields['desired_field_name'].required = False
Run Code Online (Sandbox Code Playgroud)
rio*_*ted 28
你应该将blank = True添加到相应的模型中
如果模型字段为空= True,则表单字段上的required设置为False.否则,required = True.
另请参阅文档以了解空白.
当我们需要在一堆字段上设置所需选项时,我们可以:
class ThatForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.Meta.required:
self.fields[field].required = True
class Meta:
model = User
fields = (
'email',
'first_name',
'last_name',
'address',
'postcode',
'city',
'state',
'country',
'company',
'tax_id',
'website',
'service_notifications',
)
required = (
'email',
'first_name',
'last_name',
'address',
'postcode',
'city',
'country',
)
Run Code Online (Sandbox Code Playgroud)
以下可能是合适的
class ThatForm(ModelForm):
text = forms.CharField(required=False, widget=forms.Textarea)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29437 次 |
| 最近记录: |