[TOC=1,5] >[success] # 字段属性 ~~~ null -> db是否可以为空 True/Flase default -> 默认值 primary_key -> 主键 True/Flase db_column -> 列名 CharField(db_column='w')列名为w db_index -> 索引 unique -> 唯一索引 unique_for_date -> 数据库中字段【日】部分是否可以建立唯一索引 unique_for_month -> 数据库中字段【月】部分是否可以建立唯一索引 unique_for_year -> 数据库中字段【年】部分是否可以建立唯一索引 auto_now -> 更新时,自动更新为当前时间 【变】 auto_now_add -> 创建时,自动生成时间 【不变】 注:当直接调用update更新自动更新无效,需要用save # obj = UserGroup.objects.filter(id=1).update(caption='CEO') # obj = UserGroup.objects.filter(id=1).first() # obj.caption = "CEO" # obj.save() choices -> django admin中显示下拉框,避免连表查询 blank -> django admin是否可以为空 verbose_name -> django admin显示字段中文 editable -> django admin是否可以被编辑 error_messages -> 自定义错误信息(字典类型),从而定制想要显示的错误信息; 字典健:null, blank, invalid, invalid_choice, unique, and unique_for_date 如:{'null': "不能为空.", 'invalid': '格式错误'} help_text -> django admin提示 validators -> django form ,自定义错误信息 创建 Django 用户:python manage.py createsuperuser ~~~ >[danger] ##### null 和 blank 属性 ~~~ class Person(models.Model): first_name = models.CharField(max_length=30,blank=True) last_name = models.CharField(max_length=30,null=True) ~~~ null如果为True,Django将在数据库中将空值存储为NULL。 默认值是 False。 blank如果为True,则该字段允许为空白。 默认值是 False。 两者的区别在于当添加一个空值时,null在数据库显示为null,blank为空 ~~~ 第一种 models.Person.objects.create(first_name="",last_name="") 第二种 models.Person.objects.create() ~~~ 上面的代码 所示,第一种情况两者在数据库中储存的都是空白字符,第二种分别null展示为null,blank为空白字符 ![](https://box.kancloud.cn/3f4c0e3ea089f1510e7adce8a0016250_734x207.png) * * * * * <br> >[danger] ##### db_column ~~~ 当不想使用默认字段事使用db_column属性 first_name = models.CharField(db_column="change_name",max_length=30,blank=True) ~~~ * * * * * <br> >[danger] ##### db_index ~~~ 如果True,将为该字段创建一个数据库索引 ~~~ * * * * * <br> >[danger] ##### default 默认值 ~~~ 为字段设置默认值 ~~~ * * * * * <br> >[danger] ##### editable ~~~ 默认为TRUE,设置FLASE后字段不会出现在admin后台中 ~~~ * * * * * <br> >[danger] ##### primary_key设置主键 ~~~ 1.若为 True, 则该字段会成为模型的主键字段,主键字段是只读的。 2.如果你改变了一个已存在对象上的主键并且保存的话,会创建一个新的对象,而不是覆盖旧的. ~~~ * * * * * <br> >[danger] ##### unique 唯一 ~~~ 如果为 True, 这个字段在表中必须有唯一值,primary_key=True 暗含着null=False,unique=True, 一个对象上只能拥有一个主键. ~~~ * * * * * <br>