0

我正在优化一些查询以仅返回我们需要使用的信息,values_list而不是从数据库中加载整个对象。

对于每个对象,我需要访问其子对象集以获取一些信息。

我的代码结构类似于:

class MyObj(models.Model):
    field_a = models.Integer()

class Child(models.Model):
    parent = models.ForeignKey(MyObj, related_name='children')
    field_b = models.Integer()

对于 each MyObj,我想field_b尽可能有效地访问其所有孩子的值。

我希望这样的查询models.MyObj.values_list('children__field_b')会返回我想要的值的列表,但它只返回一个值。

是否可以像我描述的那样获取字段的值列表values_list

如果不是,那么迭代每个MyObj及其子项的最高效方式是什么?

4

1 回答 1

0
foo = MyObject.objects.get(pk=1)
foo.child_set.values_list('field_b')
于 2013-07-17T10:14:08.817 回答