我有一个postgreSQL数据库,其中有一个表foo
,我在django之外创建的。我用manage.py inspectdb
为我建立表foo
的模型。这种技术在我使用MySQL的时候工作的很好,但是对于PostgreSQL而言,它是错误的MISERABLY。该表是几千兆字节,我使用PostgreSQL'COPY'从一个文本文件构建它。django postgresql查询不起作用
我可以在表foo
上运行原始查询,并且执行和预期所有内容。
例如
foo.objects.raw('bar_sql')
按预期执行。
但运行的查询,如:
foo.objects.get(bar=bar)
掷
ProgrammingError column foo.id does not exist LINE 1: SELECT "foo"."id", "foo"."bar1", "all_...
foo
没有与生俱来就拥有一个id
场。据我了解,django是想要创建一个。我在django之外创建表时如何颠覆了这一步?
对填充表的模型运行的查询在所有情况下都按预期投掷django。
我很想念这里的一些非常基本的东西,任何帮助将不胜感激。
我使用django 1.6和postgreSQL 9.3。
你的表和模型是怎样的? Django可能没有认识到那个列是PK,因此它会查找默认的“id”。你的模型应该有一个字段pimary_key = True – Alvaro
谢谢你的帮助。你绝对正确。我从来没有设置主键。 –