gpt4 book ai didi

django - 使用 'inspectdb' 得到错误 'IndexError: list index out of range'(可能是因为没有一些 FK)。请建议解决方法

转载 作者:行者123 更新时间:2023-11-29 13:54:23 26 4
gpt4 key购买 nike

  • PostgreSQL v9.4.5
  • Django v1.9

我想从我的“遗留”数据库生成模型。

当我使用 inspectdb 时,我收到:

  File "/home/kamardjoba/projects/gogo.com/lib/python3.4/site-packages/django/db/backends/postgresql_psycopg2/introspection.py", line 169, in get_constraints
"foreign_key": tuple(used_cols[0].split(".", 1)) if kind.lower() == "foreign key" else None,
IndexError: list index out of range

假设我有 2 个表:citiescity_typesCities 有一列 city_type_id (FK) 并且一些值是 NULL'ed,因为对于某些城市来说没有合适的“城市类型”

如果我从表 cities 中删除“约束”(FK),inspectdb 开始正常工作,所以问题似乎是由于 NULL 值引起的对于 FK。

Django 中的模型有 null=True 这样的选项,因此 Django 初始状态可以使用 NULL'ed FK's。

如何插入 Django\inspectdb 接受 NULL'ed FK 或者也许有人知道解决方法?

最佳答案

作为一个简单的解决方法,我通过 pgAdmin 从表中删除了 FK 的约束,进行了迁移并返回了约束。

关于django - 使用 'inspectdb' 得到错误 'IndexError: list index out of range'(可能是因为没有一些 FK)。请建议解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35072110/

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