2011-01-21 7 views
6

私の質問は、null=TrueフィールドをDjango Southを使用してnull=Falseフィールドに変換するためのベストプラクティスです。具体的には、ForeignKeyで作業しています。Django South - null = TrueフィールドをNULL = Falseフィールドに変換する

+0

新しいデフォルト値nullの後のキー列False?むしろ、すべての人にとって同じか、それが何であるかを決めるために特別な処理が必要になるのでしょうか?デフォルトがありますか?どのデータベースを使用していますか? – mkelley33

答えて

3

nullable ForeignKeyをnull以外のフィールドに変換する場合は、そのフィールド(列)にNULLを持つ行があると問題が発生する可能性があります。このような場合は、他の回答に記載されているdiegueus9などのカスタムデータ移行を使用して、削除または修正する必要があります。

ただし、その列にNULLを含む行がない場合(例:そのnull = Trueを後で必要になる場合がある場合に備えてのみ入れておくと、単純な自動スキーマ移行を行うことができます。

$ ./manage.py schemamigration myapp remove_null_from_fkey --auto 
(...) 
$ ./manage.py migrate myapp 
関連する問題