首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OpenERP开发中,self.browse()和self.pool.get()有什么不同?

在OpenERP开发中,self.browse()和self.pool.get()有什么不同?
EN

Stack Overflow用户
提问于 2013-08-26 13:27:42
回答 2查看 10.9K关注 0票数 4

我一直致力于在OpenERP 7.0中开发一个模块。我一直在使用Python和Eclipse IDE进行开发。我想知道self.browse()self.pool.get()在OpenERP开发中的区别。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-27 13:33:41

self.pool.get用于从正在使用的数据库的注册表池中获取orm模型的Singleton实例。self.browse是orm模型返回浏览记录的方法。

作为一个粗略的类比,可以将self.pool.get看作是获取数据库游标,将self.browse看作是根据Id对记录进行sql select。注意:如果你传递一个浏览整数,你会得到一条浏览记录,如果你传递一个if列表,你会得到一个浏览记录列表。

票数 8
EN

Stack Overflow用户

发布于 2013-08-30 01:17:24

要通过id访问记录,您需要使用ORM的浏览方法

代码语言:javascript
复制
def some_moethod(self, cr, uid, ids):
    self.browse(cr, uid, ids) // same class
    do_some_Stuff
    return something

当您在同一个类中编写要浏览其记录的方法时,可以使用,但如果您想要浏览另一个类的记录,在这种情况下,首先需要使用self.pool.get('another.class')创建该类的实例,然后才能在其上浏览

例如:

代码语言:javascript
复制
def some_moethod(self, cr, uid, ids):
    self.pool.get('another.class').browse(cr, uid, ids)
    do_some_Stuff
    return something

`

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18437202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档