我想在具有 CNT.Status 的 MyUser 表上执行 group by 子句,原始查询如下所示。
SELECT user_id from user_table GROUP BY user_id HAVING COUNT(status)=1
我尝试了使用 Django 模型 API 的各种选项,但它也在 group by 子句中添加了“id”。
我想在具有 CNT.Status 的 MyUser 表上执行 group by 子句,原始查询如下所示。
SELECT user_id from user_table GROUP BY user_id HAVING COUNT(status)=1
我尝试了使用 Django 模型 API 的各种选项,但它也在 group by 子句中添加了“id”。
看来您正在寻找对注释的过滤:
qs = ( MyUser
.objects
.annotate(num_status=Count('status'))
.filter(num_status__gt=1)
)
注意:我假设状态是 1:N 相关模型。