字段:
EmailField和TextField:这可能是你会遇到的最常用的变量类型,作用基本一致保存文本,区别在于CharField是定长的,TextField是无限长的
EmailField,URLField和IPAddressField :这三个变量其实是在CharField加上一点额外的验证,它和CharField一样存储在数据库中,但是包含了验证代码来保证他们的有效性
BooleanField和NullBooleanField:用于存储True或者False值的场景,有时候为空或者null,所有出现了NullBooleanField
AutoField:int自增列,必须填入参数 primary_key=True
IntegerField:整数列(有符号的) -2147483648 ~ 2147483647
DateTimeField:日期+时间格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]
DateField:日期格式 YYYY-MM-DD
模型关系:
ForeignKey 一对多关系
ManyToMany 多对多关系
OneToOneField 一对一关系
注:模型是可以继承的
字段参数详解:
max_length 数据库中存储最大长度
null 数据库中字段是否可以为空(null=True)
db_column 数据库中字段的列名(db_column="test")
db_tablespace
default 数据库中字段的默认值
primary_key 数据库中字段是否为主键(primary_key=True)
db_index 数据库中字段是否可以建立索引(db_index=True)
unique 数据库中字段是否可以建立唯一索引(unique=True)
unique_for_date 数据库中字段【日期】部分是否可以建立唯一索引
unique_for_month 数据库中字段【月】部分是否可以建立唯一索引
unique_for_year 数据库中字段【年】部分是否可以建立唯一索引
auto_now 更新时自动更新当前时间
auto_now_add 创建时自动更新当前时间
verbose_name Admin中显示的字段名称
related_name orm 反向查询字段,如果一个models中有多个外键,则必填,如果只有一个外键,则可以忽略
blank Admin中是否允许用户输入为空 表单提交时可以为空
editable Admin中是否可以编辑
help_text Admin中该字段的提示信息
choices Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作 如:gf = models.IntegerField(choices=[(0, '何穗'),(1, '大表姐'),],default=1) error_messages 自定义错误信息(字典类型),从而定制想要显示的错误信息;