如何过滤OpenERP合作伙伴的联系人?

时间:2014-07-07 06:17:19

标签: python openerp openerp-8 odoo

我想添加合作伙伴的联系人,它应该根据合作伙伴

过滤客户联系人

我在xml中使用了这个,但什么都没有

<field name="partner_contact_id" context="{'group_by':'partner_id'}"/>

我的字段就像所有字段

'partner_contact_id': fields.many2one('res.partner', 'Contact Person'),
_defaults = {
    'partner_contact_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['invoice'])['invoice'],

}

我尝试使用不同的地址为特定合作伙伴

获取它

1 个答案:

答案 0 :(得分:2)

域属性用于过滤记录。试试这个:

<field name="partner_contact_id" domain="[('parent_id', '=', partner_id)]" />

它只允许partner_id中绑定到公司的联系人。如果您想在公司更改时清除联系人字段,请用此更换合作伙伴字段(查看xml):

<field name="partner_id" on_change="onchange_partner_id(partner_id, context)" ...your other attributes.../>

并覆盖自定义模型中的onchange方法,如下所示:

def onchange_partner_id(self, cr, uid, ids, part, context=None):
    res = super(MyCustomModel, self).onchange_partner_id(cr, uid, ids, part, context)
    res['value'].update({'partner_contact_id': False})
    return res