mit*_*chf 5 django orm annotations group-by
我正在尝试相当于"分组依据",在测验所有者的测验中拉出所有猜测的列表,按用户分组并注释用户所做的猜测次数.
相关型号:
class Quiz(models.Model):
user = models.ForeignKey(User)
...
class Guess(models.Model):
user = models.ForeignKey(User)
quiz = models.ForegnKey(Quiz)
...
Run Code Online (Sandbox Code Playgroud)
这个查询:
guessors = Guess.objects.filter(quiz__user=request.user).values('user').annotate(cnt=Count('user')).order_by('cnt')
Run Code Online (Sandbox Code Playgroud)
返回类似这样的东西,它非常接近我需要的东西:
{'cnt': 5, 'user': 5}
{'cnt': 3, 'user': 4}
{'cnt': 2, 'user': 3}
{'cnt': 1, 'user': 2}
Run Code Online (Sandbox Code Playgroud)
但请注意,当我想要的是一个完整的User对象时,'user'作为int返回.有关如何最有效地获取完整User对象的任何建议?
归档时间: |
|
查看次数: |
1478 次 |
最近记录: |