2016-11-20 77 views
2

我有一個Django模型,看起來像這樣一個領域:Django的ORM的默認值不會應用到MySQL數據庫

median = models.IntegerField(default=0) 

我想這是等同於這樣一個MySQL創建表查詢:

median INT DEFAULT 0 

但是,看看我的數據庫在Sequel Pro中,我看到沒有默認值集。有沒有辦法改變這種行爲,或者一個聰明的解決方法?

我的目標是能夠在不使用ORM的情況下將值插入到數據塊中,並且仍然受益於默認值。

回答

1

是的,django實現對象創建時的字段默認值,而不是數據庫級別。然而,雙方都有一個簡單的問題。創建一個遷移。

migrations.RunSQL("ALTER TABLE my_table MODIFY median INT DEFAULT 0;") 

您必須對所有需要在數據庫級別具有缺省值的列執行此操作。