gpt4 book ai didi

Django/postgresql - 只有外键的模型

转载 作者:行者123 更新时间:2023-12-04 13:32:17 28 4
gpt4 key购买 nike

我有一个看起来像这样的模型:

class InputTypeMap(models.Model):
input_type = models.ForeignKey(InputType, on_delete=models.CASCADE)
training = models.ForeignKey(Training, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
gender = models.ForeignKey(Gender, on_delete=models.CASCADE)
当我尝试使用以下方法创建此模型的实例时:
InputTypeMap.objects.create(input_type=input_type,
training=training,
gender=gender,
category=category)
我得到一个异常(exception)
Traceback (most recent call last):
File "/home/hove/sleipner/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.NotNullViolation: null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, Maintenance, Female, MareGielding, No).
从错误消息看来,新条目的 ID key 没有生成。
这段代码按我的预期工作了很长一段时间,但“突然”开始在本地失败 - 可能是在 apt get upgrade 之后.当我使用 sqlite 或 Postgres-10.14 运行相同的代码时,事情会像以前一样继续工作。我不清楚这是否是我的代码(最有可能......)、Django 或 Postgres 中的错误。我正在使用 Django 3.1.2 版
我有 9.6 版的 Postgres 服务器

最佳答案

最有可能的是,这是一个 primary_key 问题,在我的情况下,我添加到我的模型中,例如:

person_id = models.AutoField(primary_key=True)
使我的观点适应它,它解决了它,

关于Django/postgresql - 只有外键的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64320386/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com