Where should Django manager code live?へのモノクロームの解答を読み終えたら、大きなmodels.py
を小さく管理しやすいファイルに分割することに決めました。私は__init__.py
でフォルダ構造Djangoアプリのリファクタリングlarge models.pyファイル
foodapp/
models/
__init__.py #contains pizza model
morefood.py #contains hamburger & hotdog models
を使用しています、私はしかし
from morefood import hamburger, hotdog
、私はpython manage.py syncdb
を実行すると、作成した表だけがfoodapp_pizza
あるとmorefood.py
からモデルをインポートする - 私がするには何が必要です私がmorefood.py
からインポートしたモデルのテーブルを作成するDjangoを取得するには?
foodapp/ __init__.py models.py /morefood __init__.py hamburger.py hotdog.py
をしてmodels.pyで次の操作を行います:
で動作します誰もがファイルも、」どのように大規模のさまざまなアイデアを持っています大規模なものですが、一般的に私は、アプリがmodels.pyのリファクタリングを必要とする場合、それは一般に「ただ一つのこと」をしていないアプリを指し、それは複数のアプリにリファクタリングする必要があるアプリそのものです。ちょっとした考え。 –
以下の両方の回答がうまく機能します。私はkibitzerのほうが少し好きです。モデルフォルダにすべてのモデルを保存することができます。私はBaresiが言及したブログ記事に記載されているチケット(http://code.djangoproject.com/ticket/6961)に注目します。 – Alasdair
@Carl - 良い点。この特定のケースでは、私は2つにアプリを分割終了しました。 – Alasdair