我正在优化一些查询以仅返回我们需要使用的信息,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及其子项的最高效方式是什么?