首页 > 其他 > 详细

联表查询

时间:2019-05-28 22:02:29      阅读:104      评论:0      收藏:0      [点我收藏+]

下划线联表操作

  正向查询用属性 models.操作表类名.objects.filter(id=2).values(‘外联属性__外表字段名‘)

  反向查询用类名小写 models.操作表类名.objects.filter(外联表类名小写__属性=值).values(‘字段名‘)

 

聚合函数

  models.Book.objects.all().aggregate(Avg(‘price‘))

  models.Book.objects.all().aggregate(Sum(‘price‘))

  models.Book.objects.all().aggregate(Max(‘price‘))

  models.Book.objects.all().aggregate(Min(‘price‘))

 

F/Q查询

F查询

  models.Book.objects.filter(price=F(‘price‘)).update(price=F(‘price‘)+1)

  # 批量操作

Q查询

  models.Book.objects.filter(Q(price__gt=50)&Q(comment__gt=20))

  & 与  | 或  ~ 非

 

分组

单表  

models.Book.objects.values(‘publish_id‘).annotate(m=Max(‘price‘))

多表

正向查询 models.Publish.objects.values(‘publish_id‘).annotate(m=Max(‘price‘)).values(‘publish__name‘,‘m‘)

逆向查询 models.Publish.objects.values(‘name‘).annotate(m=Max(‘book__price‘))

     models.Publish.objects.annotate(m=Max(‘book__price‘)).values(‘name‘,‘m‘)

 

联表查询

原文:https://www.cnblogs.com/lttlpp61007188/p/10940334.html

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