モデルと移行ファイルで「app1」という名前のdjangoアプリケーションがあります。 私はこのアプリの名前を「app2」に変更し、すべてのインポート、URLを修正しました... しかし、テーブル内の移行ファイルとデータに問題があります。 私が保証するために正しい方法で移行を書くことができます方法: - 新規インストール=>新しいテーブル を作成 - 更新古いバージョン=>、新しいテーブルを作成してデータを移動し、Djangoの名前を変更するアプリケーションと移行
PS古いテーブルを削除します。いくつかのテーブルがあります多くのFKとここで
は、私は良い方法の午前かどうかわからないです、私の進捗状況です: - すべての古い移行は 削除 - 私は自分のアプリケーションをインストールすることができ、この2つのステップの後に新しいマイグレーションを生成するmakemigrationsファイルを、しかし、古いバージョンにはまだ問題があります。
質問:データを移行する最適な方法は何ですか?
PS:私は南を使用していません。
で、テーブルの名前を変更するTE移行ファイルを作成することをDjangoのために教えてくれますこのメソッドを使用してアプリの名前を変更すると、djangoはコンテンツタイプを更新しないことがわかりました。また、移行が実行されたときに、各アプリケーションモデルに対して新しいコンテンツタイプ(および権限)が作成されます。これは、一般的なforeignkeysなどを使用している場合に問題を引き起こします。これは、 'RunPython'演算をすべてのAlterModelTableの前に追加することでこれを修正しました。私の 'RunPython'関数は' ContentType = apps.get_model( 'contenttypes'、 'ContentType') '' 'ContentType.objects.filter(app_label = 'old_app')を実行します。update(app_label = 'new_app')' – DBrowne