我使用“null=True”创建了django模型“User”,如下所示:
# "myapp/models.py"
from django.db import models
class User(models.Model): # Here
name = models.CharField(max_length=100, null=True, blank=True)
然后,我直觉地认为,当保存空值时,“NULL”存储在DB中,如下所示,因为 “null=True”:
但是,当我检查the django documentation about "NULL"时,它说:
If True, Django will store empty values as NULL in the database.
因此,正如文档所述,如果“null=True”并且保存了空值(如上所示),则为“空值” 存储在 DB 中而不是“NULL”?
最佳答案
So, as the documentation says, "empty values" is stored in DB instead of
NULL
ifnull=True
?
不。如果您提供空值,例如在 ModelForm
中将 form 字段留空,Django 默认情况下会将其存储为 NULL
在数据库中,所以情况正好相反。因此,这意味着它通常不会存储空字符串,但始终NULL
。
关于python - 如果 "null=True",存储在 DB 中,是 "NULL"还是 "empty values"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71455492/