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', ...]