关于python:Django如何使表单字段可选

Django how to make form fields optional

在Django中,如何使表单字段成为可选的?

我的模型,

1
2
3
4
class Student(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40)
    email = models.EmailField()


假设您要使last_name可选,可以使用blank属性:

1
2
3
4
class Student(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40, blank=True)
    email = models.EmailField()

请注意,在CharFieldTextField上,您可能不想设置null(有关原因的讨论,请参见此答案),但在其他字段类型上,您需要设置,否则将无法保存省略可选值的实例。


使用required参数,发送时带有False值:

埃多克斯1〔17〕


如果要在日期字段(如DateFieldTimeFieldDateTimeField或数字字段(如IntegerFieldDecimalFieldFloatField中允许空值,则需要同时使用null=Trueblank=True


在您的模型中使用null=Trueblank=True


1
2
3
4
class StudentForm(ModelForm):
    class Meta:
        model = Student
        exclude = ['first_name', ...]