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


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

查看所有标签

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

网络共和国

网络共和国

[美] 凯斯·桑斯坦 / 黄维明 / 上海人民出版社 / 2003-6-1 / 15.00元

本书主要讨论网络中的民主问题。网络技术已经深刻地影响了我们的生活,我们随时可以获得我们需要的信息,我们也随时可以与别人联系,那么网络技术是不是就是民主的福音呢?作者回答说不,他认为通过网络人们更容易获得的是自己喜欢的信息,而拒绝接受自己不喜欢的信息,事实上人们得到的是窄化的信息,很多的网站也不和与自己立场相反的网站链接。而在一个真正的民主的环境中,信息应是多元的并且不是我们事先选择的,在其中我们还......一起来看看 《网络共和国》 这本书的介绍吧!

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

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具