ids参数对openerp意味着什么?

时间:2014-07-11 20:23:26

标签: javascript python openerp

我使用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发送给这个函数才能成功?

1 个答案:

答案 0 :(得分:0)

我不确定您是否可以从javascript中调用它,因为您需要从连接池传入适当数据库的数据库游标,您可能需要使用XMLRPC接口。

也就是说,这些方法存在于ORM模型(或瞬态模型)上,而ids参数是传递此方法所依据的模型中记录的IDS的标准OpenERP模式。因此,如果此方法位于帐户发票模型上,则IDS将是您要处理的account_invoice表中的ID列表。

请注意,您只需要拥有参数,您不必拥有任何内容或使用它。例如,大多数形式的on_change方法都会忽略它,因为这些方法必须满足用户键入数据库中不存在的新记录。