Django:如何向前兼容是model_instance._myrelatedmodel_cache

时间:2011-08-02 14:17:37

标签: django documentation

我目前正在使用此处记录的“Pythonic-join技术”:Disqus Scaling Presentationdjango-patterns-part-2-efficient-reverse-lookups blogpost。这是一种相当常见的技术,可以避免N + 1个查询,与select_related一起使用。

但是,我无法找到model_instance._myrelatedmodel_cache的官方文档。我担心的是,如果确实这是一个无证件的特征,弃用可能是未来的问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个未记录的功能,因此在未经通知的情况下很容易在框架的未来版本中被更改或删除。由于它不是公共API的一部分,因此您无法保证Django弃用过程,因此所有投注均已关闭。

但是,如果您坚持使用当前版本(几乎肯定包括面向安全的版本),您的代码将继续正常工作。如果您最终使用这种技术并希望稍后升级,那么您只需要测试一下以确保框架的某些位没有改变,并且我怀疑该框架的那一部分特别是'非常可能。

从长远来看,如果你坚持使用记录的功能,生活可能会更容易,但有时候,速度或功能的权衡是值得的 - 你必须在你的项目环境中进行调用