【发布时间】:2020-06-10 19:13:34
【问题描述】:
我有两个模型(商店和产品),两者的主键都是 BigInt,但产品 (store_id) 中的关系列仍然是整数。我不想使用原始 sql,如何使用 django 解决这个问题?
例子:
class Product:
id = models.BigAutoField(primary_key=True, editable=False)
store = models.ForeignKey(
to='stores.Store', on_delete=models.CASCADE
)
class Store:
id = models.BigAutoField(primary_key=True, editable=False)
模型 Products 中的 store_id 仍然是数据类型整数
【问题讨论】:
-
我认为您需要更多信息在这里...您可以不只是更改数据库以匹配类型吗?
-
欢迎来到 SO!我认为您可以通过minimal reproducible example 提高获得答案的机会
-
@TimTisdall 我可以直接更改数据库,但这是一个大型应用程序,可能需要很长时间。我宁愿使用 Django 以编程方式解决问题,以防它再次出现。
-
啊。您正在尝试修复 Django,使 ForeignKey 成为错误的类型?我很惊讶它没有从主键列中获取类型。创建后你修改了吗?
-
你是不是先创建ForeignKey,然后修改
id字段为BigAutoField?
标签: django postgresql model foreign-keys biginteger