在django中如何使表单字段可选?
我的模特,
class Student(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
答案 0 :(得分:6)
假设您想要last_name
可选,您可以使用blank
属性:
class Student(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40, blank=True)
email = models.EmailField()
请注意,在CharField
和TextField
上,您可能不想设置null
(请参阅this answer进行有关原因的讨论),但是您需要的其他字段类型,或者您将无法保存省略可选值的实例。
答案 1 :(得分:4)
您使用required
参数,使用False
值发送:
email = models.EmailField(required=False)
答案 2 :(得分:3)
如果您想在日期字段中允许空白值(例如DateField
,TimeField
,DateTimeField
)或数字字段(例如IntegerField
,{{1 },DecimalField
),您需要同时使用FloatField
和null=True
。
答案 3 :(得分:0)
在模型中使用null=True
和blank=True
。
答案 4 :(得分:-2)
class StudentForm(ModelForm):
class Meta:
model = Student
exclude = ['first_name', ...]