0

我正在遍历一个查询集并获取一个一对多的字段。现在,对于每个调用,都会触发一个查询。Django 1.4 有 prefetch_related。如何使用 Django 1.3.1 做类似的事情?

4

1 回答 1

0

试试https://github.com/ionelmc/django-prefetch

听起来不错:

用于 Django 的简单且通用的模型相关数据预取框架,解决了当您需要对象相关数据时发生的“1+N 查询”问题。在大多数情况下,您将拥有前向关系(某事物的外键),并且可以使用 select_related 在同一查询中获取该数据。但是,在某些情况下,您无法以这种方式设计模型,并且需要来自反向关系的数据(具有对象外键的模型)。Django 1.4 对此有 prefetch_related,然而,这个框架提供了比 Django 1.4 的 prefetch_related 查询集方法更大的灵活性,代价是为数据编写映射和查询函数。这样做的好处是您可以做 prefetch_related 不能做的事情(参见下面的 latest_book 示例)。

于 2012-11-15T14:22:30.093 回答