gpt4 book ai didi

python - ManyToManyField 在使用自定义主键时引用 'id' 字段

转载 作者:行者123 更新时间:2023-12-01 14:37:32 27 4
gpt4 key购买 nike

我正在为具有几个 ManyToManyFields 的模型使用自定义主键。当我更新模型并将对象添加到 ManyToManyField(使用 add(new_object))时,我收到一条错误消息,表明它使用 id 字段(可能存在于中介中)查找主键表,但不在模型中)。

psycopg2.DataError: invalid input syntax for integer: "TL98GK"
LINE 1: ...WHERE ("placedir_place_place_categ"."place_id" = 'TL98GK' A...

我已经在 SO 上搜索了一段时间,但无法在确切的问题上归零。我想我可能必须通过表为 ManytoManyFields 使用自定义(作为对使用自定义主键的惩罚),但老实说我不想走那条路。

使用 Django 1.10 和 Python 3

最佳答案

迁移似乎没有很好地检测到外键类型的变化。这是一个已知的 bug .提到了一个解决方法 here (即将字段 type 显式更改为 varchar(32))。

但是,根据您的用例,您可能需要做更多的事情(比如更新表上的 constraints 等)。 (对于那些有兴趣走那条路的人,here 是一个带有相应迁移代码的示例)。

(p.s 我只是决定不在具有 manytomany 字段的模型上使用自定义主键)

关于python - ManyToManyField 在使用自定义主键时引用 'id' 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43207801/

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