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

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

内容简介:翻译自: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


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

查看所有标签

猜你喜欢:

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

Swift编程权威指南(第2版)

Swift编程权威指南(第2版)

[美] Matthew Mathias、[美] John Gallagher / 陈晓亮 / 人民邮电出版社 / 2017-6 / 89.00元

Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书是其培训教材。书中系统讲解了在iOS和macOS平台上,使用苹果的Swift语言开发iPhone、iPad和Mac应用的基本概念和编程技巧。主要围绕使用Swift语言进行iOS和macOS开发,结合大量代码示例,教会读者利用高级iOS和macOS特性开发真实的应用。一起来看看 《Swift编程权威指南(第2版)》 这本书的介绍吧!

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

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试