Если "null=True", что хранится в БД "NULL" или "пустые значения"?
Когда я писал этот код ниже для создания django моделей, я интуитивно думал "NULL" хранится в DB if "null=True":
# Here
models.CharField(max_length=100, null=True)
Но, когда я проверил документацию django о null, там говорится:
Если True, Django будет хранить пустые значения как NULL в базе данных.
Итак, как сказано в документации, если "null=True", "пустые значения" хранятся в DB вместо NULL?
Итак, как сказано в документации, "пустые значения" хранятся в БД вместо
NULLеслиnull=True?
Нет. Если вы предоставляете пустое значение, например, в ModelForm оставляете поле формы пустым, Django по умолчанию будет хранить его как NULL в базе данных, то есть наоборот. Это означает, что для этого он обычно не хранит пустую строку, а всегда NULL.
Нет, если "null=True" и сохраняется пустое значение, "NULL" сохраняется в DB вместо "пустого значения".
Например, есть модель django "User" с "null=True" как показано ниже:
# "myapp/models.py"
from django.db import models
class User(models.Model): # Here
name = models.CharField(max_length=100, null=True, blank=True)
Тогда вы сохранили пустое значение:
Теперь, "NULL" хранится в таблице "myapp_user" в SQLite как показано ниже:

