什么是django中的query.clone(),queryset.clone()?

栏目: Python · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/21385248/what-is-query-clone-queryset-clone-for-in-django
我看到clone()在 django

代码中被广泛使用

queryset.query.clone()  
queryset.clone()

它是什么,我应该模仿我的queryset或manager方法中的行为?

clone()有两个主要原因:

>它允许链接.当您将 chain 个查询集放在一起时(例如,多个filter()调用),每次可以修改时,都需要查询集的新副本.

>它允许您避免过时的缓存结果.由于查询集 cache 在评估它们时的结果,如果要确保再次访问数据库,则需要克隆查询集.

如果您知道自己在做什么,可以使用它,但请注意,它不是公共API.在这个有趣的 Django developers thread 中,开发人员谈论clone()是否应该公开.他们决定反对,部分原因是:

The biggest problem with public .clone() method is that the private ._clone() doesn’t do just cloning. There are some cases where cloning also changes how the QuerySet behaves.

翻译自:https://stackoverflow.com/questions/21385248/what-is-query-clone-queryset-clone-for-in-django


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Kotlin实战

Kotlin实战

【美】Dmitry Jemerov(德米特里·詹莫瑞福)、【美】 Svetlana Isakova(斯维特拉娜·伊凡诺沃) / 覃宇、罗丽、李思阳、蒋扬海 / 电子工业出版社 / 2017-8 / 89.00

《Kotlin 实战》将从语言的基本特性开始,逐渐覆盖其更多的高级特性,尤其注重讲解如何将 Koltin 集成到已有 Java 工程实践及其背后的原理。本书分为两个部分。第一部分讲解如何开始使用 Kotlin 现有的库和API,包括基本语法、扩展函数和扩展属性、数据类和伴生对象、lambda 表达式,以及数据类型系统(着重讲解了可空性和集合的概念)。第二部分教你如何使用 Kotlin 构建自己的 ......一起来看看 《Kotlin实战》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码