我有一個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
謝謝你的幫助。你絕對正確。我從來沒有設置主鍵。 –