blank
kwarg (defaults to False
) will allow field to be null but not blank 9# Create your models here.
10class Groups(models.Model):
11 user = models.ForeignKey(NewUserResgistration, on_delete=models.CASCADE, null=True)
12 name = models.CharField(max_length=200, null=True)13
14 def __str__(self):
15 return self.name
blank
kwarg (defaults to False
) will allow field to be null but not blank18class GroupDetails(models.Model):
19 GENDER = (("Male", "Male"), ("Female", "Female"), ("Others", "Others"))
20 group = models.ForeignKey(Groups, on_delete=models.CASCADE, null=True)
21 email = models.CharField(max_length=200, null=True)22 name = models.CharField(max_length=200, null=True)
23 gender = models.CharField(max_length=200, choices=GENDER, blank=False, null=True)
24
blank
kwarg (defaults to False
) will allow field to be null but not blank19 GENDER = (("Male", "Male"), ("Female", "Female"), ("Others", "Others"))
20 group = models.ForeignKey(Groups, on_delete=models.CASCADE, null=True)
21 email = models.CharField(max_length=200, null=True)
22 name = models.CharField(max_length=200, null=True)23 gender = models.CharField(max_length=200, choices=GENDER, blank=False, null=True)
24
25 def __str__(self):
20 group = models.ForeignKey(Groups, on_delete=models.CASCADE, null=True)
21 email = models.CharField(max_length=200, null=True)
22 name = models.CharField(max_length=200, null=True)
23 gender = models.CharField(max_length=200, choices=GENDER, blank=False, null=True)24
25 def __str__(self):
26 return str(self.name) + "-" + str(self.email)
If null
is True
and blank
is False
then Django and the database disagree on whether empty values are allowed.
The null
attribute specifies that the database will accept it if no value is passed to the field. The blank
attribute specifies Django should not check if the value is present when Model.clean
is called.
If Model.save
is called via the shell without first calling Model.clean
: the bad data will be saved and there may be unwanted side effects, such as:
These unwanted side effects can cause more serious problems that are hard to debug long after the original error occurred.
class Feedback(models.Model):
created = models.DateField(null=True)
updated = models.DateField(null=True, blank=False)
class Feedback(models.Model):
created = models.DateField(null=True, blank=True)
updated = models.DateField(null=True, blank=True)