In django how to make form field optional ?
my model,
class Student(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
In django how to make form field optional ?
my model,
class Student(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
Presuming you want to make last_name
optional, you can use the blank
attribute:
class Student(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40, blank=True)
email = models.EmailField()
Note that on CharField
and TextField
, you probably don't want to set null
(see this answer for a discussion as to why), but on other field types, you'll need to, or you'll be unable to save instances where optional values are omitted.
You use the required
argument, sent in with a False
value:
email = models.EmailField(required=False)
If you want to allow blank values in a date field (e.g., DateField
, TimeField
, DateTimeField
) or numeric field (e.g., IntegerField
, DecimalField
, FloatField
), you’ll need to use both null=True
and blank=True
.
class StudentForm(ModelForm):
class Meta:
model = Student
exclude = ['first_name', ...]