Если "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)

Тогда вы сохранили пустое значение:

enter image description here

Теперь, "NULL" хранится в таблице "myapp_user" в SQLite как показано ниже:

enter image description here

Вернуться на верх