如何在django中使FileField可选?

tam*_*eek 22 python django django-forms

我在django中有一个带有文本框和文件字段的表单.它应该让使用将文本粘贴到该框或上传文件.如果用户已将文本粘贴到框中,我无需检查fileField.

如何制作forms.FileField()可选?

小智 42

如果您forms.FileField()forms.Form派生类中使用a ,则可以设置:

class form(forms.Form):
    file = forms.FileField(required=False)
Run Code Online (Sandbox Code Playgroud)

如果您正在使用models.FileField()并已forms.ModelForm分配给该模型,则可以使用

class amodel(models.Model):
    file = models.FileField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

您使用哪种方法取决于您如何派生表格以及您是否正在使用基础ORM(即模型).

  • 我已经阅读过`CharField`s不应该有'null = True` ...因为`FileField`本质上是`CharField',这真的是要走的路吗? (7认同)