首页 > 其他 > 详细

联表查询

时间:2019-05-28 22:02:29      阅读:99      评论: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 版权所有
打开技术之扣,分享程序人生!