2012-03-02 6 views
6

私は別のアプリでモデルに依存ジャンゴ南の移行を書いていたので、私は私が(orm['otherappname.MyModelName']付き)他のモデルの罰金にアクセスすることができますforwards()機能にただしpython manage.py datamigration …Django-South DataMigration - アプリケーションはforwards()では利用できますが、backwards()では利用できません。

を実行したとき、私は、しかしで、--freeze OTHERAPPNAMEが含まれています私はorm['otherappname.MyModelName']にアクセスしようとした場合(もotherappname内のモデルによって異なります)backwards()のステップは、私は、ファイルの一番下で凍結されたモデルの詳細を見ることができ、エラー

*** KeyError: "The model 'mymodelname' from the app 'otherappname' is not available in this migration." 

を取得します。なぜ私はそれにアクセスできないのですか?

NB:このモデルは、このデータマイグレーションが依存する別のマイグレーション内で別のマイグレーションで作成されます。

答えて

10

逆方向移行では、より前の移行のフリーズORMが実際に使用されます。それについて考えるときは論理的ですが、それはあまり直感的ではありません。

モラル:データマイグレーションに必要なモデルを、それを実行するスキーママイグレーションでフリーズします。

関連する問題