我想在具有 CNT.Status 的 MyUser 表上执行 group by 子句,原始查询如下所示。
SELECT user_id from user_table GROUP BY user_id HAVING COUNT(status)=1
我使用 Django 模型 API 尝试了各种选项,但它也在 group by 子句中添加了“id”。
看来您正在寻找过滤注释 https://docs.djangoproject.com/en/dev/topics/db/aggregation/#filtering-on-annotations:
qs = ( MyUser
.objects
.annotate(num_status=Count('status'))
.filter(num_status__gt=1)
)
注意:我认为状态是 1:N 相关模型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)