如何在视图中设置计算数据的字段域?

时间:2014-09-20 11:58:07

标签: openerp

我想限制many2one(res.partner)字段,以仅显示属于给定合作伙伴类别的值。

如果我知道类别ID,那么我可以将其添加到我的视图中:

<field name="insurer" domain="[('category_id', 'in', 1)]"/>

不幸的是,我不知道类别ID,但我在我的数据xml中创建它。

因此,直到现在我最好的想法是定义一个设置域的onchange处理程序。

def onchange_insurance(self, cr, uid, ids, first_field):
    biztosito_category = self.pool.get('ir.model.data').get_object(cr, uid, 'ensure_base', 'biztosito_partner_category').id
    return {
            'domain': {
              'insurer':  [('category_id', '=', biztosito_category)],
            },
    }

有没有办法在没有onchange处理程序的情况下将这样的计算域放入视图代码中?

1 个答案:

答案 0 :(得分:0)

如果您的视图中有category_id字段,则可以在您的域中使用该字段。

请尝试以下代码:

<field name="insurer" domain="[('category_id', '=', category_id)]"/>

请参阅more about domain