Django的预取相关系统的实用程序和增强功能库。

django-prefetch-utils的Python项目详细描述


此库当前提供了 prefetch_related_objects使用identity map来 自动减少预取时执行的查询数。

例如,考虑以下数据模型:

class Toy(models.Model):
    dog = models.ForeignKey('dogs.Dog')

class Dog(models.Model):
    name = models.CharField()
    favorite_toy = models.ForeignKey('toys.Toy', null=True)

使用这个库,我们不需要对 从该对象开始对favorite_toy执行预取 已作为toy_set

预取的一部分提取
>>> dog = Dog.objects.prefetch_related('toys', 'favorite_toy')[0]
SELECT * from dogs_dog limit 1;
SELECT * FROM toys_toy where toys_toy.dog_id IN (1);
>>> dog.favorite_toy is dog.toy_set.all()[0]  # no queries done
True

计划在将来的版本中将库的范围增加到 提供使用prefetch_related的其他工具。

  • 自由软件:BSD 3条款许可证

安装

pip install django-prefetch-utils

更改日志

0.1.0(2019-07-16)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓 xslt可与xalan cli一起使用,但不能从java代码中使用   java在spring应用程序中使用jackson进行序列化时面临的问题   Java检查Linux问题上的internet连接   当用户单击JavaSwing中的按钮时,从另一个类创建新对象   java为什么小于9,算上9?   使用Websphere 6.1生成WSDL的java未正确生成序列参数   javaq:ViewPager和OnClickListener   获取错误的java无法为child()中的参数“pathString”传递null   java组织。springframework。安全果心用户详细信息。用户详细信息创建用户   性能:单变量赋值与Objectgraph导航(Java)   java为什么资源中的CSS在spring jsp页面中不起作用?   较小的有限值双Java   java REST API如何处理post和函数错误   列出Java流API如何改进表达式