Many2many поле зависит от другого Many2many поля

В моем модуле мне нужно, чтобы при выборе отделов появлялись только сотрудники выбранных отделов

        

employee_id0 = fields.Many2many('hr.employee', string='Employee', index=True)
department_id = fields.Many2many('hr.department', string="Department", store=True, required=True)
 

<field name="department_id"  attrs="{'readonly':[('affec_type','=','category')],'invisible':[('affec_type','=','category')]}" widget="many2many_checkboxes"/>
<field name="employee_id0"  attrs="{'invisible':[('affec_type','=','category')]}"  widget="many2many_checkboxes"  domain="[('department_id', 'in',department_id)]"/>
                                

1 ответ

Решение

Написать on_change метод department_id, и вызовите всех сотрудников, связанных с выбранными вами отделами. И вернуться к employee_id,

Это просто пример кода.

@api.depends('department_id')
@api.onchange("department_id")
def _onchange_department_id(self):
    vals = {}
    data = self.env['hr.employee'].search([('departmentt_id','in',self.department_id.ids)])
    ids = list(data.ids)
    vals['domain'] = {
        "employee_id": [("id", "in", ids)],
    }

    return vals

Надеюсь, это поможет вам.

Другие вопросы по тегам