models.Model中常用的数据字段格式说明

在models.Model中常用的数据字段格式说明

字段格式 可以使用的参数 说明
BigIntegerField 64位的大整数
BooleanField 布尔值,只有True和False两种
CharField max_length,min_length; 指定的接受字符串长度
DateField auto_now :每次存储时就自动加入当前日期
auto_now_add: 只有在对象被创建时才加入当前日期(创建日期)
日期格式,可用于datetime.date
DateTimeField 同上 日期格式,对应到datetime.datetime
DecimalField max_digits: 可接受的最大位数
decimal_places: 在所有位数中,小数占几个位数
定点小数数值数据,适用于python中的Decimal模块实例
EmailField max_length:最长字数 邮件格式的字段
FloatField 浮点字段
IntegerField 整数字段,是通用性最高的整数格式
PostiveIntegerField 正整数字段
SlugField max_length:最大字符长度 和CharField一样,一般用来做网址的一部分
TextField 长文字格式,一般用在HTML窗体的Textarea输入项目中
UrlField max_length:最大字符长度 和CharField一样,用于记录url

详细见django文档的models说明

字段选项 说明
null 此字段不允许接受存储空值NULL,默认值为False
blank 此字段不允许接受存储空白内容,默认值为False
choices 以选项的方式作为此字段的候选值,(只有固定内容的数据可以使用)
default 输入此字段的默认值
help_text 字段的求助信息
primary_key 把此字段设置为数据表中的主键KEY,默认值为False
unique 设置此字段是否为唯一值,默认值为False

Django ORM常用的函数以及修饰词

函数名称或修饰词 说明
filter() 返回符合指定条件的QuerSet
exclude() 返回不符合指定条件的QuerSet
order_by() 串接到QuerSet之后,针对每一指定的字段进行排序
all() 返回所有的的Querset
get() 获得指定符合条件的唯一元素,如果找不到或者一个以上符合条件,都会产生exception
first()/last() 获得第1个元素 / 获得最后一个元素
aggregate() 可以用来计算数据项的聚合函数
exists() 用来检查是否存在否某指令条件的记录,通常附加在filter()后面
update() 用来快速更新某些数据记录中的字段内容
iexact 不区分大小写的条件设置
contains 设置条件为含有某一字符串就符合,如SQL 语句中的 LIKE
icontains 设置条件为含有某一字符串就符合,如SQL 语句中的 ILIKE
in 提供一个列表,只有符合列表中的任何一个值均可以
gt / gte 大于 / 大于等于
lt / lte 小于 / 小于等于

一些函数如 reverse() 、exists() 等可以串接在另一些函数后面,用于进一步过滤信息,修饰词放在参数中,在字段后面加上2个下划线之后再串接,可以为条件设置增加风多的弹性。

Product.objects.filter(num__lt=2)、
Product.objects.all().orber_by('-price')

注意:

xxxx = modeks.ForeigenKey(Xaaa,on_delete=models.CASCADE)

​ 创建表关联的时候会有一个ForeignKey字段,她负责指向另一张表的主键Primary Key,代表这个表格依附于另一张表格。on_delete = models.CASCADE是一个属性, 若主键数据被删除时,此数据也被删除。其他常设置的操作如下

  • models.PEOTECT:禁止删除,并产生一个Excption(ProtectedError)
  • models.SET_NULL:把外键设置为null,但是在规划时此字段要设置为可接受null
  • models.SET_DEFAULT:把外键设置为默认值,但是在规划时此字段要设置默认值
  • models.DO_NOTHING:什么事都不做,就是放着这儿。
原文地址:https://www.cnblogs.com/world-peace/p/12344955.html