2016-04-12 4 views
0

Django Webアプリケーションを作成していて、私のデータベースにPostgresを使用しています。DjangoのデフォルトのPostgresデータベース検索ディレクトリを変更するには

私のプロジェクトでは、「home」という名前のWebアプリケーションがあり、Postgresに「myTable」という名前のテーブルを作成しました。

テーブルに何かを保存しようとすると、Djangoは自動的に 'myTable'の代わりに 'home_myTable'というテーブルを探します。私は

python manage.py migrate 

を行う場合例えば、私は次のエラーを取得する:

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

私は手動でのPostgresを与えることによって、この問題を回避取り組んできたPsycopg2を使用してコマンドが、これは本当に迷惑です。

Djangoが自動的に 'home_myTable'を探し始めるのを止め、代わりに私が望むテーブルを検索させる方法はありますか?

答えて

1

モデルのdb_tableメタオプションを設定できます。

class MyTable(models.Model): 
    ... 

    class Meta: 
     db_table = 'mytable' 

レガシーデータベースを扱っている場合を除き、私はあなたが、あなたのモデルを定義し、移行を作成し、Djangoはテーブルを作成してみましょう、代わりにあなたがやっているよう手動でテーブルを作成することをお勧めします。

+0

'db_table = 'myTable''を追加しましたが、同じエラーが表示されます。私に必要なことは他にありますか? – Daniel

+0

移行を削除し、 'db_table'を設定した後で再作成する必要があるかもしれません。その後もエラーが発生する場合は、移行に失敗したことや完全なトレースバックなど、詳細を入力する必要があります。 – Alasdair

関連する問題