Was ist der Unterschied zwischen null=True und blank=True in Django?
In Django unterscheidet sich null=True
von blank=True
, beides werden verwendet, um Optionen für Felder in einem Modell festzulegen.
null=True
gibt an, dass das Feld im Datenbank auf NULL
gesetzt werden kann. Das bedeutet, dass das Feld im Modell leer oder unzugewiesen sein kann und die Datenbank es als NULL
speichert anstatt einen Standardwert. Zum Beispiel:
class MyModel(models.Model):
my_field = models.CharField(max_length=255, null=True)
blank=True
gibt an, dass das Feld beim Erstellen oder Aktualisieren einer Modellinstanz leer gelassen werden kann. Das bedeutet, dass das Feld im Formular leer oder unzugewiesen sein kann und das Modell trotzdem gültig ist. Zum Beispiel:
class MyModel(models.Model):
my_field = models.CharField(max_length=255, blank=True)
Es ist zu beachten, dass blank=True
impliziert, dass null=True
ist. Wenn Sie also blank=True
festlegen, müssen Sie null=True
nicht auch festlegen.
class MyModel(models.Model):
my_field = models.CharField(max_length=255, blank=True, null=True)
In diesem Beispiel kann my_field
sowohl im Formular als auch in der Datenbank leer oder unzugewiesen sein.