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
Надеюсь, это поможет вам.