gpt4 book ai didi

Django "group by"通过注释 : Get object from . value() 与 ID

转载 作者:行者123 更新时间:2023-12-03 18:49:59 26 4
gpt4 key购买 nike

我正在尝试执行相当于“分组依据”的操作,以在测验所有者的测验中拉出所有猜测的列表,按用户分组,并注释该用户进行了多少猜测。

相关机型:

class Quiz(models.Model):  
user = models.ForeignKey(User)
...

class Guess(models.Model):
user = models.ForeignKey(User)
quiz = models.ForegnKey(Quiz)
...

这个查询:
guessors = Guess.objects.filter(quiz__user=request.user).values('user').annotate(cnt=Count('user')).order_by('cnt')

返回这样的东西,这非常接近我需要的东西:
{'cnt': 5, 'user': 5}
{'cnt': 3, 'user': 4}
{'cnt': 2, 'user': 3}
{'cnt': 1, 'user': 2}

但是请注意,当我想要的是完整的 User 对象时,'user' 将作为 int 返回。关于如何最有效地获取完整 User 对象的任何建议?

最佳答案

在我短暂而紧张的 Django 学习中,我发现 group_by 函数是我最怀念的 SQL 功能之一。我已经尝试了你上面使用的 values() 聚合方法,但在我想要返回一个对象时遇到了同样的问题。我最终使用了 raw SQL ,这并不漂亮,但可以满足我的需要。

关于Django "group by"通过注释 : Get object from . value() 与 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5761994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com