服务器端的odoo过滤器Many2one

odoo filter Many2one on server side

你好,我想在 odoo 11 中为每个客户公司创建一个特权联系人。我成功地 return 视图列表中的所有联系人我无法按所选公司过滤。这是我的代码:

查看:

<odoo>
<data>
    <record id="view_partner_form_inherited" model="ir.ui.view">
        <field name="name">base.partner.form.acftsales.inherit</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_form" />

        <field name="arch" type="xml">
            <field name="category_id" position="after">
                <field name="privileged_contact" />
                <field name="companyId" />
            </field>

        </field>
    </record>
</data>
</odoo>

模型或获取所有联系人(公司 A、公司 B、...):

class acftsales_company(models.Model):
    _inherit = "res.partner"    
    companyId=fields.Integer('societe id', compute='_get_value')
    privileged_contact= fields.Many2one('res.partner', string='Contacts', domain=[('active', '=', True),('customer', '=', True)])
    @api.one
    def _get_value(self):
        self.companyId =  self.id 

我为了过滤当前公司而失败的代码:

privileged_contact= fields.Many2one('res.partner', string='Contacts', domain=[('active', '=', True),('customer', '=', True)],('parent_id', '=', self.id)])
privileged_contact= fields.Many2one('res.partner', string='Contacts', domain=[('active', '=', True),('customer', '=', True)],('parent_id', '=', companyId)])
privileged_contact= fields.Many2one('res.partner', string='Contacts', domain=[('active', '=', True),('customer', '=', True)],('parent_id', '=', env['res.partner'].id)])
privileged_contact= fields.Many2one('res.partner', string='Contact commercial', function=_get_employees)
privileged_contact= fields.Many2one('res.partner', string='Contact commercial', function=_get_employees)
@api.multi
def _get_employees(self):
    Partner = self.env['res.partner']
    employees =  Partner.search([('active', '=', True),('customer', '=', True),('parent_id','=',self.id)])
    #privileged_contact
    return employees

我终于成功通过了视图中的所有过滤器

privileged_contact= fields.Many2one('res.partner', string='Contacts')

<field name="companyId"  invisible="1" />
<field name="privileged_contact" domain="[('active', '=', True),('customer', '=', True),('parent_id','=',companyId)]"/>

我希望这不是纯粹的客户端计算,希望它不会在有很多客户时减慢应用程序...