我一直致力于在OpenERP 7.0中开发一个模块。我一直在使用Python和Eclipse IDE进行开发。我想知道self.browse()和self.pool.get()在OpenERP开发中的区别。
谢谢。
发布于 2013-08-27 13:33:41
self.pool.get用于从正在使用的数据库的注册表池中获取orm模型的Singleton实例。self.browse是orm模型返回浏览记录的方法。
作为一个粗略的类比,可以将self.pool.get看作是获取数据库游标,将self.browse看作是根据Id对记录进行sql select。注意:如果你传递一个浏览整数,你会得到一条浏览记录,如果你传递一个if列表,你会得到一个浏览记录列表。
发布于 2013-08-30 01:17:24
要通过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`
https://stackoverflow.com/questions/18437202
复制相似问题