我一直致力于在 OpenERP 7.0 中开发一个模块。我一直在使用 Python 和 Eclipse IDE 进行开发。我想知道 OpenERP 开发之间的self.browse()
区别self.pool.get()
。
谢谢。
要通过 id 访问记录,您需要使用 ORM 的浏览方法
def some_moethod(self, cr, uid, ids):
self.browse(cr, uid, ids) // same class
do_some_Stuff
return something
当您在要浏览其记录的同一类中编写方法时可以使用,但如果您想浏览另一个类的记录,在这种情况下,首先您需要使用 self.pool.get('another.class ') 然后你可以浏览它
例如:
def some_moethod(self, cr, uid, ids):
self.pool.get('another.class').browse(cr, uid, ids)
do_some_Stuff
return something
`
self.pool.get
用于从正在使用的数据库的注册表池中获取 orm 模型的 Singleton 实例。self.browse
是orm模型返回浏览记录的方法。
作为一个粗略的类比,self.pool.get
可以将其视为获取数据库游标和self.browse
通过 Id 对记录进行 sql 选择。请注意,如果您传递一个整数,您将获得一个浏览记录,如果您传递一个 id 列表,您将获得一个浏览记录列表。