2015-12-14 140 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

相关问题