我在Django中有以下电话:
Activity.objects.values('user_field__username').annotate(Sum('reward'))
以下是我的“活动”表的架构:
每个用户在此表中可以有大约十二个条目。可以有1000万用户。
我想获得每个用户的总奖励,并同时向所有此类用户发送通知。上面的查询满足了我的要求,但是我被告知它不是最理想的,而且空间复杂度很高。原则上正确的做法是什么。
我的活动模型:
class Activity(models.Model):
user_field = models.ForeignKey(get_user_model(), default=0)
reward = models.PositiveSmallIntegerField(default=0)