我使用openerp,我需要使用javascript从Web模块调用python方法。
这是方法:
def get_data(self, cr, uid, ids, context=None):
_logger.info('ids es %r',ids);
if context is None:
context = {}
data = {}
data['ids'] = context.get('active_ids', [])
data['model'] = context.get('active_model', 'ir.ui.menu')
data['form'] = self.read(cr, uid, ids, ['user_id', 'date_start', 'date_end'], context=context)[0]
_logger.info('data es %r',data);
_logger.info('data[form] es %r',data['form']);
return data;
但是我不知道如何从javascript调用此方法,因为我不知道ids参数应该是什么,反正这就是我称之为的方式(我得到一个错误,因为我&#39 ; m不发送ids参数)
data = reportModel.call('get_data',[],undefined,{});
所以我的问题是,什么是ids参数,它是如何工作的,我应该从javascript发送给这个函数才能成功?
答案 0 :(得分:0)
我不确定您是否可以从javascript中调用它,因为您需要从连接池传入适当数据库的数据库游标,您可能需要使用XMLRPC接口。
也就是说,这些方法存在于ORM模型(或瞬态模型)上,而ids参数是传递此方法所依据的模型中记录的IDS的标准OpenERP模式。因此,如果此方法位于帐户发票模型上,则IDS将是您要处理的account_invoice表中的ID列表。
请注意,您只需要拥有参数,您不必拥有任何内容或使用它。例如,大多数形式的on_change方法都会忽略它,因为这些方法必须满足用户键入数据库中不存在的新记录。