【发布时间】:2021-05-27 20:00:04
【问题描述】:
我的模型是这样的:
class User(AbstractUser):
...
class UserPoints(models.Model):
user = models.ForeignKey(User, relative_name='points')
earned_points= models.IntegerField()
reward_month = models.IntegerField(default=0)
reward_year = models.IntegerField(default=0)
每个月都会创建UserRewards。我正在使用 Q 生成查询。
我要做的是列出前10名用户,按照earned_points的总和排列。 UserRewards 将被过滤为仅包含最近三个月的值。我知道如何单独执行过滤、聚合、注释和求和。但是在单个查询或组合两个查询中,我似乎无法准确计算出来,尤其是当每个用户有多个 UserRewards 时。
【问题讨论】:
-
是
UserPoints你所说的UserRewards吗?到目前为止,您尝试过什么? -
如果我的回答有用请考虑accepting它。
标签: python django-rest-framework django-q