【发布时间】:2020-09-07 19:46:34
【问题描述】:
我在模型中有一个具有 primary_key=True 的 OnetoOne 字段。 现在我想将其更改为 ForeignKey 但不能因为没有“id”。
从这里:
user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
到这里:
user1 = models.ForeignKey(User, related_name='questionnaire', on_delete=models.CASCADE)
在迁移时显示这个:
您正在尝试在没有默认值的情况下向historyuserquestionnaire 添加不可为空的字段“id”;我们不能这样做(数据库需要一些东西来填充现有的行)。 请选择一个修复: 1) 现在提供一次性默认值(将在所有现有行上设置此列的空值) 2)退出,让我在models.py中添加一个默认值
那该怎么做呢? 谢谢!
【问题讨论】:
-
如果您尝试允许 null=True 之类的空值,或者将默认用户设置为 default=
-
不一样,因为主键是 True 所以这些对象没有 id
标签: python django django-models