South/Djangoを使用して、データベース内に既存の行があるモデルにUNIQUE
とNOT NULL
列を追加しようとしている問題に遭遇しています。 。 Southでは、NOT NULL
であるため、列のデフォルトを指定するように求められます。しかし、それにはUNIQUE
という制約もあるので、models.pyのフィールドにデフォルトを追加することはできません。また、すべての行で同じになるため、一回限りの値を指定することもできません。South:NULLでないユニークな列のマイグレーションを実行
これを回避するには、まずヌル可能な列を作成し、移行を適用し、その列に一意の値を持つ既存の行を挿入するスクリプトを実行し、次に別の移行を追加してUNIQUE
という制約があります。
しかし、同じことを達成するより良い方法はありますか?