tup*_*pan 4 django django-models
我在这里和django文档中找到了一些解决方案,但是我无法以我想要的方式使一个查询工作。
我有以下模型:
class Inventory(models.Model):
blindid = models.CharField(max_length=20)
massug = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
我想计算Blind_ID的数量,然后将它们分组后的质量。
我目前的Django ORM
samples = Inventory.objects.values('blindid', 'massug').annotate(aliquots=Count('blindid'), total=Sum('massug'))
Run Code Online (Sandbox Code Playgroud)
它计数不正确(仅显示一个),因此计数不正确。这似乎是只得到第一个结果......我试着用Count('blindid', distinct=True)和Count('blindid', distinct=False)为好。
这是使用的查询结果samples.query。Django按两列分组...
SELECT "inventory"."blindid", "inventory"."massug", COUNT("inventory"."blindid") AS "aliquots", SUM("inventory"."massug") AS "total" FROM "inventory" GROUP BY "inventory"."blindid", "inventory"."massug"
Run Code Online (Sandbox Code Playgroud)
这应该是原始sql
SELECT blindid,
Count(blindid) AS aliquots,
Sum(massug) AS total
FROM inventory
GROUP BY blindid
Run Code Online (Sandbox Code Playgroud)
尝试这个:
samples = Inventory.objects.values('blindid').annotate(aliquots=Count('blindid'), total=Sum('massug'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2293 次 |
| 最近记录: |