什么是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


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

查看所有标签

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

Google软件测试之道

Google软件测试之道

James A. Whittaker、Jason Arbon、Jeff Carollo / 黄利、李中杰、薛明 / 人民邮电出版社 / 2013-10 / 59.00元

每天,google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《google软件测试之道》抓住了google做测试的本质,抓住了google测试这个时代最......一起来看看 《Google软件测试之道》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具