django 外键通过 where 子句进行聚合
我在 Django 中注释我的查询集,使用另一个表映射中的值。
lw_list = lw_list.annotate(count_mapping=Count('mapping'))
(lw 对象与映射对象具有一对多关系)
所以现在我的 lw 列表中的每个对象都有相关映射对象的计数。 我的映射对象有一个布尔字段“pass_fail”
是否可以在映射表上放置一个 where 子句,以便聚合仅计算“pass_fail”值设置为 true 的映射对象?
你如何做到这一点?
I am annotating my queryset in Django, using values from another table mapping as so.
lw_list = lw_list.annotate(count_mapping=Count('mapping'))
(lw objects have a one to many relationship with the mapping objects)
So now each object in my lw list has a count of related mapping objects.
My mapping objects have a boolean field 'pass_fail'
Is it possible to put a where clause on the mapping table, so that the aggreagte only counts mapping objects that have a "pass_fail" value set to true?
How do you do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为目前还不能使用 Django 的 ORM 来完成此操作 - 这是一张非常活跃的票 关于你想要什么,这是一个漂亮的那里有人建议的黑客解决方法。我想说你现在最好的选择是使用原始 SQL。
I don't think this can be done using Django's ORM as of now -- here's a pretty active ticket about what you want, and here's a pretty hackish workaround suggested by someone in there. I'd say your best bet would be to use raw SQL for now.