2016-04-12 114 views
0

我正在創建一個Django Web應用程序,我正在使用Postgres作爲我的數據庫。如何更改Django的默認Postgres數據庫搜索目錄

在我的項目下,我有一個名爲'home'的web應用程序,並且我在Postgres中創建了一個名爲'myTable'的表。

每當我嘗試在表中保存某些內容時,Django會自動查找名爲「home_myTable」而不是「myTable」的表。例如,如果我這樣做

python manage.py migrate 

我得到以下錯誤:

django.db.utils.ProgrammingError: relation "home_myTable" does not exist 

我一直在努力解決這個手動給Postgres的使用Psycopg2命令,但是這實在是煩人。

有沒有辦法阻止Django自動開始尋找'home_myTable',而是讓它搜索我想要的表?

回答

1

您可以爲您的模型設置db_table Meta選項。

class MyTable(models.Model): 
    ... 

    class Meta: 
     db_table = 'mytable' 

除非你是在處理舊的數據庫,我建議你定義的模型,創建遷移,然後讓Django的創造,而不是創建手動爲你做這些表的表。

+0

我添加了'db_table ='myTable'',但我仍然得到相同的錯誤。還有什麼我需要做的? – Daniel

+0

您可能必須刪除您的遷移並在設置'db_table'後重新創建它。如果您之後仍然遇到錯誤,則需要提供更多詳細信息,例如失敗的遷移和完整的追溯。 – Alasdair