我的RelatedModel
有一个指向Product
对象的外键字段。我正在尝试计算每RelatedModel
个UUID Product
的数量。
RelatedModel.objects.all().values(fk_product__uuid).annotate(total=Count('id'))
这给了我:
[
{'total': 3, 'fk_product__uuid': UUID('195b6aa8-6a57-62c6-89d1-3397bf69d928')},
{'total': 7, 'fk_product__uuid': UUID('2a6a6a98-1a17-4cca-8111-2212b951003a')},
...
]
我更喜欢我的UUID键只是被称为“uuid”,但我很难让annotate
处理反向关系。有没有办法在没有对列表进行后处理的情况下执行此操作?
答案 0 :(得分:1)
按照Shang的建议(测试和工作)参考:
q = Product_r.objects.all().annotate(uuid=F('fk_product__uuid')).values('uuid').annotate(total=Count('id')).order_by('total')