私はDjangoアプリケーションをリファクタリングしています。具体的には、私は大きなmodels.py
ファイルを使用してアプリケーションを持っていると私はDjangoテーブルの名前
myapp/
models/
__init__.py
somemodels.py
someothers.py
somemore.py
...
のように、小さなファイルの束に分割しようとしていますし、私が持っていないようmodels/__init__.py
に、私は他のすべてのファイルからすべてのモデルをインポートクライアントコードを変更します。
問題は、Djangoがテーブル名について不平を言うことです。モデルFoo
のテーブルはmyapp_foo
でしたが、Djangoはテーブルmyapp.models_foo
を探しているようです。つまり、アプリケーションの代わりにモデルが定義されているパッケージを接頭辞として使用するようです(もちろんmyapp.models
はDjangoアプリケーションとして登録されていません)。
私は手動でそれぞれ、すべてのモデルのためのテーブル名を設定できますが、これを回避し、これらのモデルは、実際に
myapp
の一部であることをDjangoに伝える方法があります知っていますか?