2016-08-31 11 views
1

私は、マイグレーションを実行しているときに私が取得フォローメッセージを取り除くしたいと思います:古いContentTypesを削除する最もクリーンな方法は?

The following content types are stale and need to be deleted: 

    appname | modelname 

Any objects related to these content types by a foreign key will also 
be deleted. Are you sure you want to delete these content types? 

削除または移行に削除しないという決定をエンコードするためにクリーンなようです。

マイグレーション中に古いContentTypesを検出して削除する最もクリーンな方法は何ですか? ContentTypeがcreated automaticallyの場合、なぜ自動的に行われないのですか?データベースを移行する場合

+1

[generic relations](https://docs.djangoproject.com/en/1.9/ref/contrib/contenttypes/#generic-relations)でコンテンツタイプが使用されている場合は、それらを削除するとon_deleteアクションがトリガされます。これらのモデルの外部キーが原因でデータが失われる可能性があります。コンテンツタイプを作成してもデータが失われることはないため、自動的に行うことは安全です。 – knbk

+0

コンテンツタイプが汎用リレーションシップで使用されているかどうかを検出することはできませんか? – jamjar

+0

おそらく関連している:http://stackoverflow.com/questions/18869414/can-stale-content-types-be-automatically-deleted-in-django –

答えて

0

、あなたがそうのようmanage.py--noinputを追加することができます。

manage.py migrate --noinput 

この方法は、ユーザーが求められることはありません。

関連する問題