2015-12-14 136 views
1

工作,我使用Django的創建數據庫表,型號代碼:爲什麼默認值不使用Django

class User(models.Model): 
    uid = models.CharField(max_length=32,primary_key=True) 
    nick = models.CharField(max_length=20) 
    sex = models.CharField(max_length=1,default='M') 
    sign = models.CharField(max_length=40,default="") 

但默認值不work.when我顯示錶說明,顯示: enter image description here

爲什麼此代碼不起作用,如何解決此問題?

+0

保存對象時,它是否採用默認值? – Gocht

+0

你怎麼知道它不工作?你嘗試添加一個值嗎? –

回答

2

Django不會將默認值添加到模式中,而是在創建User對象時添加默認值(如果需要)。

+0

真的嗎?爲什麼不更新模式?如果我們想將數據庫文件複製到其他應用程序的其他人,我們應該在代碼中添加這些默認值嗎? – starkshang

+0

可能由於DBMS提供的不一致性。不完全確定。但是,如果您打算在非Django應用程序中使用數據庫,則始終可以在模式中手動設置默認值。在MySQL中,它將是'ALTER TABLE table_name ALTER column_name SET DEFAULT'something'' – Astar

相關問題