我正在尝试查询,并且想按几个字段分组。这些字段中的一些是外键。当我重新设置查询时,我希望这些外键成为各自模型的对象。我发现按查询集分组的唯一方法是values('model1', 'model2', 'somefield')
。但是,当我执行此操作时,我从这些字段中获得的值就是这些对象的ID。
我要寻找的是为此设置的等效查询:
SELECT model1, model2, somefield, sum(something) FROM table WHERE (conditions here) GROUP BY model1, model2, somefield
我希望model1
,model2
实际上是模型对象,而不仅仅是ID。
有什么好办法吗?
谢谢
答案 0 :(得分:0)
使用常规Django模型查询时:
model_instances = Model.objects.filter(some condition).order_by('model1', 'model2', 'some_field')
model_instance
获取一个类Model
的实例数组,每个实例的外键属性也是相应模型的实例,因此model_instances[0].model1
将是'Model1'的实例。 / p>
您可以检查有关查询here的Django参考。