2012-01-13 9 views
0

私はモデルのファイルやモデルのディレクトリではなく、私のアプリの中に深く組み込まれたモデルでいっぱいのファイルを持っています。models.pyにないモデルでsyncdbをプルする方法はありますか?

基本的には、レガシーデータベースのテーブルを指すファイルなので、別のファイルに置くのはこのためです。

しかし、テスト版をセットアップしようとしているので、私はsyncdbですべてのテーブルを作成できる必要があります。

これを行う方法はありますか?または、SQLを使用して手動でテーブルを作成する必要がありますか?

+0

models.pyファイルにモデルを書き込んで、このファイルのディレクトリのパスを設定ファイルの 'INSTALLED_APPS'パラメータに含めることができます。 –

答えて

2

temp_app/models.py

from my.deep.in.code.modelfile import model1 
from my.deep.in.code.modelfile import model2 

実行syncdbの実行(あなたはまた、ディレクトリにのinitの.pyを持っていることを確認してください)インストール済みのアプリケーションにtemp_appを追加

インストールからtemp_appを削除しますアプリ

1

額ノックアウト時間

わかりましたので、この部分が重要です:あなたが他の場所であなたのプロジェクトではなく、通常のmodels.pyファイル内からの輸入モデルをすれば、あなたが追加します

class Meta: 
    app_label = 'foo' 

そうでない場合、モデルはなりますsyncdbでは無視される!

私はTedが書いた行に沿って何かを試しましたが、何らかの理由でsyncdbがモデルを作成することができるapp_label部分を追加するまではありませんでした。

関連する問題