2011-01-21 64 views
6

我的問題是,使用Django South將null=True字段變成null=False字段的最佳做法是什麼?具體來說,我正在使用ForeignKeyDjango South - 將null = True字段變成null = False字段

+0

您知道新的外部默認值是什麼嗎? null = False之後的鍵列?相反,對所有人來說它會是一樣的還是需要進行一些特殊處理來確定它會是什麼?會有一個默認?你使用的是哪個數據庫? – mkelley33 2011-01-21 17:23:09

回答

3

如果您想要將可空的ForeignKey變爲非空值,那麼如果您對該字段(列)具有NULL的任何行,則可能會出現問題。在這種情況下,您需要刪除或修復它們 - 可能使用自定義數據遷移,如其他答案中提到的diegueus9

但是,如果您在該列中沒有包含NULL的任何行,例如因爲只有在將來可能需要它時,纔會將null = True,那麼您應該可以執行簡單的自動模式遷移:

$ ./manage.py schemamigration myapp remove_null_from_fkey --auto 
(...) 
$ ./manage.py migrate myapp