日期:2014-05-16  浏览次数:20841 次

django的models.charfield(null=false, max_length=30)的问题
models.charfield(null=false, max_length=30)里的null=false是什么意思呢?我在网上找不到答案。。
django

------解决方案--------------------
问错版块了吧?。。。。

个人感觉是将传递参数null值时修改他的值为false,或者没传递时时分配为一个默认值false
------解决方案--------------------
汗,对应SQL里的NOT NULL,该字段不能为NULL。
文档里写的清清楚楚吧。
------解决方案--------------------
假如方法定义如下
def charfield(aa=1,null=2,max_length=3):
    pass

如果你调用方法如下
models.charfield(false, 30)//按顺序赋值,aa=false,null=30,max_length用默认值3
如果你想aa用默认值
models.charfield(null=false, max_length=30)//aa=1 , null = false,max_length=30
这个叫关键字参数。


------解决方案--------------------
null=false 不允许数据库中field的值为null

null=true 允许数据库中field的值为null, 但是如果你插入字符为null,Django会转化插入空字符(empty string)而不是null

另外django建议如果用字符类行的field时(比如CharField和TextField ), 最好不要null=true