class Model1():
name = models.charField() # this field has only 4 choices, so only 4 entries would be there
class model2():
field1 = models.charfield()
field2 = model.ManytoManyField(Model1, related_name="model2")
现在我要做的是查询model2(在field2上),并在此字段的基础上按model2结果分组。
假设model1中的4个值为A, B, C, D
。
因此,当我在model2上查询时,我应该能够获得按A, B, C, D
分组的结果。类似下面的内容
[
{
"name": "A",
"field1": []
},
{
"name": "B",
"field1": []
},
...
]
假设我们使用postgresql,所以我们可以在查询中使用extra = {}
参数。到目前为止,我使用itertools groupby
并不是很有效率。寻找orm查询,如果可能的话,原始查询。
参见附图以供参考