我准备了一个Django模型表格,供用户输入信息。我想制作一些字段,例如,文件编号,如果用户不输入,将自动生成。
但是,在view方法中,我无法在验证之前更改字段内容。 Model中的字段是必填字段,因此如果字段留空,则Form.is_valid()将返回False。
所以我想在表单验证之前为字段赋值但是失败了。现在我需要在表单提交给view方法之前将值分配给表单字段。
在验证之前是否可以为模型表单赋值?我不想将字段更改为可选字段,因为它是关键字段,我不希望它意外地留空。
以下是我的模型和模型表格的示例:
class Example(models.Model):
doc_no = models.CharField(max_length = 10)
.
.
.
class ExampleForm(forms.ModelForm):
class Meta:
model: Example
fields: ['doc_no', ...]
widgets = {
'doc_no': forms.TextInput(attrs = {....}),
.
.
.
谢谢,
答案 0 :(得分:1)
你可以这样做:
class Example(models.Model):
doc_no = models.CharField(max_length = 10, default='enter value here')
这会将默认值设置为default value here
,但用户的响应(如果有)将覆盖默认值。
这有帮助吗?