Odoo / Openerp:通过python代码过滤视图数据

时间:2014-11-18 15:34:55

标签: openerp odoo

在Odoo / Openerp中,我创建了一个看板视图来显示一些数据。现在我设法根据上下文数据使用fields_view_get更改此视图。

def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
    if context is None:
        context = {}
    res = super(esfyt_subscription_template,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
    if context.get('partner_id', False):
        partner_id = context.get('partner_id', False)
        doc = etree.XML(res['arch'])
        if view_type == 'kanban':
            for node in doc.xpath("//div[@class='oe_module_vignette']"):
                new_addition = etree.SubElement(node, 'button', {'string' : 'Subscribe', 'type' : 'object', 'name' : 'action_subscribe'})
                new_addition.text = 'Subscribe'
        res['arch'] = etree.tostring(doc)
    return res

但我需要对数据做同样的事情。我需要根据上下文限制一些数据,在视图中没有加载某些模型(或行)。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

要根据上下文过滤记录,您必须覆盖search()方法

要根据上下文过滤数据,您必须覆盖read()/ browse()方法