首页 > 其他 > 详细

django模型系统(二)

时间:2019-02-26 16:54:03      阅读:172      评论:0      收藏:0      [点我收藏+]

1.常用的模型字段类型
https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types

2.字段的常用参数
官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-options

 3,常用查询

  通过模型类上的管理器来构造QuerySet

  模型类上的管理器是啥?

    模型类 .objects

技术分享图片

  QuerySet 表示数据库中对象的集合

  等同于select语句. 惰性的

案例:

  get(**kwargs)根据给定的条件,获取一个对象,如果有多个对象符合,保存

  all()获取所以记录, 返回queryset

技术分享图片

  first() 获取第一条,返回的是对象

技术分享图片

  last()获取最后一条,返回的是对象

  思考:排序规则?  默认通过主键,通过_meta设置

技术分享图片

   filter(**kwargs) 根据给定的条件,获取一个过滤后的queryset,多个条件使用and链接

技术分享图片

  exclude(**kwargs) 跟filter使用方法一致,作用相反,它是排除

技术分享图片

  多条件的OR链接,用到Q对象,django.db.models.Q

技术分享图片

  values(*fields) 返回一个queryset , 返回一个字典列表,而不是数据对象

技术分享图片

  only(*fields)返回querySet , 对象列表,注意only一定包含主键字段

技术分享图片

  defer(*fields) 返回一个QuerySet , 作用和only相反

技术分享图片

order_by(*fields) 根据给定的字段来排序,默认是顺序,字段名前加“-”代表反序

技术分享图片

技术分享图片

切片 和 python的列表切片用法相似,不支持复索引,数据量大时不用步长

  *** 切片过后,不再支持,附件过滤条件与排序

技术分享图片

exact

技术分享图片

iexact

技术分享图片

contains

icontains

技术分享图片

in

技术分享图片

range

技术分享图片

 gt 等于

gte 大于等于

技术分享图片

 

lt  小于

lte 小于等于

技术分享图片

 

startswith  大小敏感

istartswith  大小写不敏感

技术分享图片

 

endswith   

iednswith  

 

isnull True False 对应 IS NULL  IS NOT NULL

 

聚合

  from django.db.models import Count, Avg, Max, Min, Sum

通过queryset的aggregate方法

  Student.objects.aggregate(age_avg=Avg(‘age‘))   #计算平均年龄

  count  统计数量

技术分享图片

 

  Avg  平均值

技术分享图片

 Max, Min, Sum

技术分享图片

分组,聚合

结合Values,annotate  和聚合方法一起实现

查询几个男生,几个女生

技术分享图片

 

 

 

 

 

 


 

 

django模型系统(二)

原文:https://www.cnblogs.com/wdty/p/10435384.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!