我在django documentation找到了一些解决方案,但我无法按照自己的方式设置一个查询。
我有以下型号:
IO.write("file_name.txt", your_array.join("\n"))
我想计算Blind_ID的数量,然后在它们被分组之后对该massug求和。
我目前的Django ORM
class Inventory(models.Model):
blindid = models.CharField(max_length=20)
massug = models.IntegerField()
它没有正确计数(它只显示一个),因此它没有正确求和。它似乎只得到了第一个结果......我也尝试使用samples = Inventory.objects.values('blindid', 'massug').annotate(aliquots=Count('blindid'), total=Sum('massug'))
和Count('blindid', distinct=True)
。
这是使用Count('blindid', distinct=False)
的查询结果。 Django按两列分组......
samples.query
这应该是原始的sql
SELECT "inventory"."blindid", "inventory"."massug", COUNT("inventory"."blindid") AS "aliquots", SUM("inventory"."massug") AS "total" FROM "inventory" GROUP BY "inventory"."blindid", "inventory"."massug"
答案 0 :(得分:5)
试试这个:
samples = Inventory.objects.values('blindid').annotate(aliquots=Count('blindid'), total=Sum('massug'))