首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django中查询以获取总数

在django中查询以获取总数
EN

Stack Overflow用户
提问于 2020-03-17 15:17:59
回答 2查看 85关注 0票数 1

我需要找到具有最大fat_intake (整体fat_intake)的user_id。

数据库:

代码语言:javascript
复制
id | user_id | fat_intake 
38      1         10     
39      1         15         
40      1         30         
41      1         14         
42      2         20         
43      2         30         
44      2         50        

获得最大脂肪摄入量的user_id的查询是什么?

响应应该是:

代码语言:javascript
复制
Output: 
  {
    "user_id": 1,
    "total_fat_count": 69
  } 

我试过了:

代码语言:javascript
复制
maxCalorie =  CalorieInfo.objects.annotate(fat_intake=Avg('fat_intake')).aggregate(Max('fat_intake'))
EN

回答 2

Stack Overflow用户

发布于 2020-03-17 15:27:29

你可以这样做,

代码语言:javascript
复制
In [27]: from django.db.models import Sum

In [28]: CalorieInfo.objects.all().values('user_id').annotate(fat_intake=Sum("fat_intake"))
Out[28]: <QuerySet [{'user_id': 1, 'fat_intake': 69}]>

In [29]:
票数 1
EN

Stack Overflow用户

发布于 2020-03-17 15:58:08

这是正确的答案,它应该适用于您。

代码语言:javascript
复制
users.objects.values('user_id').annotate(total=Sum('fat_intake'))

输出为

代码语言:javascript
复制
<QuerySet [{'user_id': 1, 'total': 69}, {'user_id': 2, 'total': 100}]>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60717817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档