首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用'inspectdb‘got 'IndexError: list index超出范围’(可能是因为没有FKs)。请提出解决办法

使用'inspectdb‘got 'IndexError: list index超出范围’(可能是因为没有FKs)。请提出解决办法
EN

Stack Overflow用户
提问于 2016-01-28 21:10:55
回答 1查看 857关注 0票数 1
  • PostgreSQL v9.4.5
  • Django v1.9

我想从我的“遗留”DB中生成模型。

当我使用inspectdb时,我会收到:

代码语言:javascript
复制
  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

假设我有两个表:citiescity_typesCities有一个列city_type_id (FK),一些值为空,因为有些城市没有合适的“城市类型”

如果我从表cities中删除‘约束’(FKs),那么inspectdb就开始正常工作,因此问题似乎是由于FK的空值造成的。

Django中的模型具有null=True这样的选项,因此Django initialy可以使用NULL的FK。

如何推动Django\inspectdb接受空的FKs,或者可能有人知道解决办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-14 20:06:28

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35072110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档