Django模型层

时间:2019-06-12
本文章向大家介绍Django模型层,主要包括Django模型层使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
关键字段:
DateField:2019-6-12格式,年月日
日期字段,日期格式  YYYY-MM-DD,相当于Python中的datetime.date()实例
DateTimeField:2019-6-12 13:55:12,年月日时分秒
日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例
关键参数:
auto_now:每次操作修改数据都会自动更新时间
auto_now_add 只是新增数据的时候会当前时间自动添加,后续的修改该字段不会自动更新

 

  1.在python脚本中调用Django环境

      

补充:
	主要是queryset对象就可以无限制的点queryset方法
	models.User.objects.filter().filter().filter().count()

本质:queryset对象点filter返回了一个对象本身,方法里面return self

  

必知必会13条单表操作:
all():查询所有的结果
filter(**kwargs):过滤条件匹配的对象,返回的是Queryset对象可以是多个条件,
而且匹配条件是and关系,条件不存在得到一个空Queryset对象可以索引取值,
但只支持整数索引

get(**kwargs):返回与匹配条件匹配的对象,返回的是数据对象,而且返回结果有且
只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。

exclude(**kwargs):得到与它的筛选条件不匹配的对象,就是取反的意思

   values:找出某个字段名的所有值:

      values_list(*field):与values()相似,列表套元组

 

<7> order_by(*field): 对查询结果排序
<8> reverse(): 对查询结果反向排序,请注意reverse()通常只能
在具有已定义顺序的QuerySet上调用(在model类的Meta中指定ordering或
调用order_by()方法)。

<9> distinct(): 从返回结果中剔除重复纪录(如果你查询跨越多个表,可能在计算
QuerySet时得到重复的结果。此时可以使用distinct(),注意只有在PostgreSQL
中支持按字段去重。)

  <10> count(): 返回数据库中匹配查询(QuerySet)的对象数量。

            exists(): 如果QuerySet包含数据,就返回True,否则返回False;就是判断有没有这个这个对象

返回queryset对象的方法
        all()

        filter()

        exclude()

        order_by()

        reverse()

        distinct()
        
        values()       返回一个可迭代的字典序列

        values_list() 返回一个可迭代的元祖序列
    
obj.auhors.add(括号里可以是id也可以是对象)
obj.author.set(括号里可以是id也可以是对象)
remove()  # 不能接收可迭代对象,可以*打
clear()  # 清空 不用传参

  

 

$flag 上一页 下一页