gpt4 book ai didi

python - OpenERP缓存功能

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:44 24 4
gpt4 key购买 nike

我想在我的 OpenERP 模块中缓存一些结果,所以我仔细研究并找到了 the cache decorator .不幸的是,我能找到的大部分文档都在类声明中:

Use it as a decorator of the function you plan to cache Timeout: 0 = no timeout, otherwise in seconds

任何人都可以推荐一个如何使用它的好例子吗?是否存在需要避免的已知问题?

最佳答案

在深入研究之后,我找到的最简单的例子是 ir_model_data._get_id() method :

@tools.cache()
def _get_id(self, cr, uid, module, xml_id):
ids = self.search(cr, uid, [('module','=',module),('name','=', xml_id)])
if not ids:
raise ValueError('No references to %s.%s' % (module, xml_id))
# the sql constraints ensure us we have only one result
return ids[0]

您似乎只是选择了一个要缓存的模型方法,然后将缓存添加为 a decorator .如果某些事件应该清除缓存,如 this update() method ,您将缓存的方法用作缓存对象:

            if not result3:
self._get_id.clear_cache(cr.dbname, uid, module, xml_id)

看起来默认情况下,缓存时会忽略该方法的前两个参数(大多数情况下是光标和用户 ID)。

这一切都只是基于浏览代码。我很想听听任何实际使用它的人的反馈。

关于python - OpenERP缓存功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3182153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com