我一直在开发OpenERP 7.0中的模块.我一直在使用Python和Eclipse IDE进行开发.我想知道OpenERP开发之间self.browse()和之间的区别self.pool.get().
谢谢.
Sta*_*kUP 16
要按ID访问记录,您需要使用ORM的浏览方法
def some_moethod(self, cr, uid, ids):
self.browse(cr, uid, ids) // same class
do_some_Stuff
return something
Run Code Online (Sandbox Code Playgroud)
您可以在同一个类中编写一个方法,当您想要浏览其记录但是如果您想要从另一个类浏览记录时,在这种情况下首先需要使用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
Run Code Online (Sandbox Code Playgroud)
`
self.pool.get用于从正在使用的数据库的注册表池中获取orm模型的Singleton实例.self.browse是orm模型返回浏览记录的方法.
作为一个粗略的类比,self.pool.get可以将其视为获取数据库游标以及self.browse通过Id选择记录的SQL.请注意,如果您传递一个浏览整数,则会获得单个浏览记录,如果您传递一个ID列表,则会获得一个浏览记录列表.