2016-09-25 3 views
0

私はカスタムマイグレーション "0000_initial_data.py"を作成しました。他のすべてのマイグレーションが完了したら、そのマイグレーションを適用します。私が依存関係の中で____latest____を使用しようとすると、 "依存関係参照が存在しない親ノード"というエラーが表示されますが、フォルダー内のマイグレーションという名前の____latest____を見つけようとしていますが、見つけることができません。最新の移行.pyファイルではなく、0001_initial.pyc [pyc]ファイルを与えた "ls -Art | tail -n 1"を使用して、myapp/migrations /で最新の移行を見つけるアイディアを得ました。私は私が私の展開を自動化していますようカスタムマイグレーションの最後のマイグレーションを取得して初期データをロードする

$ replace '__latest__' 'output of ls -Art' -- 0000_initial_data.py 

のようなシェルスクリプトを使用してカスタム移行ファイルに置き換える必要があり、最新の移行の名前を取得する場合にもかかわらず。私は、プロジェクト内のすべてのmyappから最新の移行を取得し、その後にカスタム移行をプラグインする最良の方法を知りたいと思います。

注:Djangoの== 1.8.13を使用して、Ubuntuの14.04、パイソン2.7

答えて

1

は、一般的に、カスタムの移行は、既存のデータを変更するために使用されています。新しいデータを作成する場合は、管理コマンドの中にコードを入れて、すべての移行後にコードを実行することをお勧めします。

+1

実際に私のために働いた。 ここに続くステップ http://janetriley.net/2014/11/quick-how-to-custom-django-management-commands.html カスタムコマンドを作成すると、魅力的に機能しました。 ありがとう@Mehdi Pourfar –

+1

django_extensionsを使用している場合は、単に次のコマンドを呼び出してパスとファイルを作成することができます。 './manage.py create_command app_name' –

+0

これでファイル作成時間が節約されました。 2つのフォルダと1つのファイルを作成しなければなりませんでしたので、私の時間の多くは消えました。これもありがとう、今後のアプリで私を助けてください。 –

関連する問題