我的RelatedModel有一个指向Product对象的外键字段。我正在尝试计算RelatedModel每个ProductUUID 的数量。
RelatedModel.objects.all().values(fk_product__uuid).annotate(total=Count('id'))
Run Code Online (Sandbox Code Playgroud)
这给了我:
[
{'total': 3, 'fk_product__uuid': UUID('195b6aa8-6a57-62c6-89d1-3397bf69d928')},
{'total': 7, 'fk_product__uuid': UUID('2a6a6a98-1a17-4cca-8111-2212b951003a')},
...
]
Run Code Online (Sandbox Code Playgroud)
我更喜欢将我的 UUID 密钥称为“uuid”,但我很难处理annotate相反的关系。有没有办法在不对列表进行后处理的情况下做到这一点?
供参考以下尚的建议(经过测试和工作):
q = Product_r.objects.all().annotate(uuid=F('fk_product__uuid')).values('uuid').annotate(total=Count('id')).order_by('total')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12105 次 |
| 最近记录: |