【发布时间】:2017-07-17 14:29:07
【问题描述】:
我正在使用 Django 1.11.1 和 python3。无法将 author 字段设置为默认空值。有什么问题?
author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+', null=True, blank=True, db_constraint=False)
错误:
DETAIL: Key (author_id)=(0) is not present in table "auth_user"
【问题讨论】:
-
添加这个新字段后,您是否运行过
makemigrations和migrate? -
是的,当然。
-
看起来可能有一行
author_id字段设置为 0,并且没有 id 为 0 的 auth_user。登录到您的数据库并查询您拥有的表 @ 987654327@ 看看是否有任何行的值设置为 0。 -
来吧,伙计。每个人都知道
auth_user中没有id=0。问题是如何在不引用现有对象的情况下添加新模型。 -
我创建了一个模型,其中包含您在问题中给出的确切 args 和 kwargs,并且我能够在没有用户的情况下创建新记录。一定有其他原因导致此问题不在此问题中。
标签: python django django-models