Ray*_*Ray 2 django django-models
我的Django模型中有一个'address'字段,我希望它是可选的:
class Home(models.Model):
address = models.CharField(max_length=256, blank=True, default=None)
city = models.CharField(max_length=25)
Run Code Online (Sandbox Code Playgroud)
我希望这是我的数据库中的可选字段,但我没有设置"null = True",因为文档说
"避免在基于字符串的字段(如CharField和TextField)上使用null,因为空字符串值将始终存储为空字符串,而不是NULL.如果基于字符串的字段具有null = True,则表示它有两个可能的值"没有数据":NULL,空字符串.在大多数情况下,为"无数据"提供两个可能的值是多余的; Django约定是使用空字符串,而不是NULL."
但是,当我使用此命令创建Home对象时:
Home.objects.create(city='Chicago')
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
IntegrityError: null value in column 'address' violates not-null constraint.
Run Code Online (Sandbox Code Playgroud)
我不应该在地址字段中添加"null = True",尽管文档说的是为了使其可选吗?如果没有,应如何声明,以便我可以创建新的Home对象而不会引发此错误?
| 归档时间: |
|
| 查看次数: |
1561 次 |
| 最近记录: |