null

这个选项跟数据库有关。

null=True的话,数据库中该字段是NULL,即允许空值;null=False(默认)的话,数据库中该字段是NOT NULL,即不允许空值。

blank

这个选项和数据验证(表单验证等)有关。

blank=False(默认)的话,字段没被赋值则会抛错;blank=True则不会。

CharField和TextField

CharField和TextField如果没有赋值的话,会被保存成空字符串而不是NULL。

其他字段,例如IntegerField、DateField,没被赋值则会被保存成NULL。

几种情况

null=False, blank=False:其实null不用设置,因为blank的判定在前,已经保证了值不为空。但是如果数据库会被其他应用操作,null的设置还是有意义的。

CharField(null=False):null不用设置,因为CharField默认是空字符串。

IntegerFiled(blank=True):如果该字段没有被赋值,数据验证时可以通过blank=True,但是执行SQL的时候,会因为该字段是NOT NULL而出错。

参考链接:

https://docs.djangoproject.com/en/1.8/ref/models/fields/#null

https://code.djangoproject.com/wiki/NewbieMistakes#IntegerNULLS

http://stackoverflow.com/questions/8609192/differentiate-null-true-blank-true-in-django

django字段设置null和blank的区别的更多相关文章

  1. Django 字段中 null 和 blank的区别

    blank 设置为 True 时,字段可以为空 设置为 False 时,字段是必须填写的 默认为 False null 设置为 True 时,数据库的字段允许为NULL,而且表单中的空值将会被存储为N ...

  2. Django models中的null和blank的区别

    blank在数据库上存储的是一个空字符串 如需设置字段可以为空:blank=True,默认为blank=False(字段必须填写); null在数据库上表现为NULL,而不是一个空字符串 如需设置字段 ...

  3. django Field选项中null和blank的区别

    blank只是在填写表单的时候可以为空,而在数据库上存储的是一个空字符串:null是在数据库上表现NULL,而不是一个空字符串: 需要注意的是,日期型(DateField.TimeField.Date ...

  4. Django-Model模型Field选项中null和blank的区别

    - Option-**blank**设置为True时代表填写表单的时候可以为空,即在save()执行时此字段可以没有,如果字段没有就在数据库上存储一个空字符串: - Option-**null**设置 ...

  5. django中的null=true,blank=true,这个讲得清楚点

    看mastering django:core,中文名<精通django>里的, 说得在理点. 截个图

  6. Django的model中日期字段设置默认值的问题

    之前写过这样一个model: class MonthlyFeeMember(models.Model): worker = models.ForeignKey(Student, verbose_nam ...

  7. 设置某个字段为null

    update 表名 set 字段名=null WHERE 条件如下例子 update dwtz set ggid=null WHERE name_of_invested_company='浙江海翔药业 ...

  8. django字段的参数

    所有的模型字段都可以接收一定数量的参数,比如CharField至少需要一个max_length参数.下面的这些参数是所有字段都可以使用的,并且是可选的. null 该值为True时,Django在数据 ...

  9. django 权限设置

    关于权限: 首先明确权限是为了限制其他访问的url 通过在models使之关联的表再通过关联表的权限来permissions的url 来检测url的访问 一. 需要三个类五张表 from django ...

随机推荐

  1. Matlab2014下载和破解方法,以及Matlab很好的学习网站

    ISO镜像下载地址链接: http://pan.baidu.com/s/1i31bu5J 密码: obo1  单独破解文件下载链接: http://pan.baidu.com/s/1c0CGQsw 密 ...

  2. wordpress安装记录

    wordpress 已经完全部署到Linux后,进行开始安装的时候,数据库信息都填入好了(前提是:链接信息输入都正确) 然后点击会报错,说是链接数据库失败(数据库是建在阿里云服务器上的),但是具体不知 ...

  3. 应用Spring MVC发布restful服务是怎样的一种体验

            摘要:“约定优于配置”这是一个相当棒的经验,SOAP服务性能差.基于配置.紧耦合,restful服务性能好.基于约定.松耦合,现在我就把使用Spring MVC发布restful服务的 ...

  4. C#删除文件和文件夹到回收站

    首先对项目添加名为Microsoft.VisualBasic.dll的引用,然后添加命名空间using Microsoft.VisualBasic.FileIO;usingSystem;namespa ...

  5. java String部分源码解析

    String类型的成员变量 /** String的属性值 */ private final char value[]; /** The offset is the first index of the ...

  6. HADOOP cluster some issue for installation

    给namenode搭建了HA,然后根据网上的配置也配置了secondary namenode, 但是一直没有从日志中看到启动secondnary namenode,当然进程也没有. 找了很多资料,按照 ...

  7. Hive UDF 实验1

    项目中使用的hive版本低于0.11,无法使用hive在0.11中新加的开窗分析函数. 在项目中需要使用到row_number()函数的地方,有人写了udf来实现这个功能. new java proj ...

  8. [转]SQLServer SQL执行效率和性能测试方法总结

    本文转自:http://www.zhixing123.cn/net/27495.html 对于做管理系统和分析系统的程序员,复杂SQL语句是不可避免的,面对海量数据,有时候经过优化的某一条语句,可以提 ...

  9. 对于大学4年的反思(续),记我的ThoughtWorks面试

    之前我写了一篇对于大学四年的反思,时隔一个月,为什么我这么快就要来写这篇续章呢?主要有两个原因,第一是感谢静子姐姐,记得知乎上有个回答里面说过人生需要有贵人的帮助,遇到贵人是一件很幸运的事情.我想,静 ...

  10. 【温故而知新-Javascript】理解 DOM

    DOM(Document Object Model,文档对象模型)允许我们用 JavaScript 来探查和操作 HTML 文档里的内容.它对于创建丰富性内容而言是必不可少的一组功能. 1. 理解文档 ...