Django项目——模型的拓展知识
2018-06-01 本文已影响14人
飞翼_U
除了在models.py 中定义基本的数据表以外,模型还有其他可以学习的地方。
1.字段类型
类型 说明
AutoField 一个Integer类型的自动增长
BooleanField 用于存放布尔类型的数据(True或者False)
CharField 用于存放字符类型的数据,需要指定长度max_length
DateField 日期类型,必须是"YYYY-MM-DD"格式
DateTimeField 日期类型必须是"YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]"格式
IntegerField integer类型,数值范围从-2127283648到2147483647
TextField 用于存放文本
TimeField 时间类型。"HH:MM[:ss[.uuuuuu]]"格式
URLField 用于存放URL地址
2.字段选项
null null 缺省设置为false.通常不将其用于字符型字段上,比如CharField,TextField上.字符型字段如果没有值会返回空字符串。
blank 该字段是否可以为空。如果为假,则必须有值
choices 一个用来选择值的2维元组。
default 缺省值
unique 数据唯一
auto_now 自动设置为对象保存时刻的时间。对于类似最后改动之类的应用很有效
auto_now_add 从最初保存对象至今的增量时间
说明:
auto_now :每次保存对象时,自动设置该字段为当前时间,用于 最后一次修改的时间戳,总是使用当前时间。
auto_now_add : 当对象第一次被创建时自动设置当前时间,用于创建
时 的时间戳,总是使用当前时间。
3.元选项
在模型类中定义Meta类,用于设置元信息
class Meta:
db_table=""
ordering=""
db_table 定义数据表名,推荐使用小写字母,如果不写,默认的表名为:项目名小写_类名小写
ordering 对象的默认排序字段,获取对象的列表时使用
class Meta: # 按照id升序排序
ordering = ['id']
class Meta: # 按照id降序排序
ordering = ['-id']
注意: 降序是在字段前面加 - 符号