null
若是为 True ,Django 将用 NULL 来在数据库中存储空值。 默认值是 False .python
blanksql
若是为 True ,该字段容许不填。默认为 False 。在Django admin 中是否为空数据库
要注意,这与 null 不一样。 null 纯粹是数据库范畴的,而 blank 是数据验证范畴的。若是
一个字段的 blank=True ,表单的验证将容许该字段是空值。若是字段的 blank=False ,该字
段就是必填的。django
choices :储存在内存当中,且在django admin 当中会自动生成下拉选择列表ui
由二元组组成的一个可迭代对象(例如,列表或元组),用来给字段提供选择项。 若是设置
了choices ,默认的表单将是一个选择框而不是标准的文本框,并且这个选择框的选项就是
choices 中的选项spa
from django.db import models class Person(models.Model): SHIRT_SIZES = ( ('S', 'Small'), ('M', 'Medium'), ('L', 'Large'), ) name = models.CharField(max_length=60) shirt_size = models.CharField(max_length=1, choices=SHIRT_SIZES,default=1)
模版获取choices 的值:https : //my.oschina.net/esdn/blog/832982.net
primary_keycode
若是为 True ,那么这个字段就是模型的主键 ,对AutoField设置主键后,就会代替原来的自增 id 列对象
若是你没有指定任何一个字段的 primary_key=True ,Django 就会自动添加一个 IntegerField
字段作为主键,因此除非你想覆盖默认的主键行为,不然不必设置任何一个字段
的 primary_key=True 。blog
from django.db import models class Fruit(models.Model): name = models.CharField(max_length=100, primary_key=True)
Mysql 数据库默认 ID 为主键,默认状况下,Django 会给每一个模型添加 自增主键字段(AutoField)
id = models.AutoField(primary_key=True)
auto_now 和 auto_now_add
注意:一、若是设置auto_now 和 auto_now_add ,Django Admin 后台默认为不显示状态,即不可编辑(editable=False),若是要设置为当前时间,也能够修改,需以下设置
import django.utils.timezone as timezone # 导入时间模块 dww = models.DateTimeField(default=timezone.now) # 设置默认为当前时间
二、自动更新的时候,须要使用 xxx.save() ,时间才会自动更新
obj = models.xxx.objects.fillter(id=1).first() obj.name='admin' obj.save()
verbose_name Admin中字段的显示名称
name|db_column 数据库中的字段名称
unique=True 不容许重复 ,惟一索引
db_index = True 数据库索引
editable=True 在Admin里是否可编辑
error_messages=None 错误提示 ,Django Admin 中的错误提示
auto_created=False 自动建立
help_text 在Admin中提示帮助信息
validators=[] 自定义错误信息
upload-to 上传