跳至内容
菜单
此问题已终结
1 回复
10725 查看

Hello there, 

I'm trying to create a domain on a Many2many field:

@api.onchange('name')
def onchange_domain_on_days(self):
res = {}
ids = []
employee_model = self.env['hr.employee']
all_employees = employee_model.search([])
for employee in all_employees:
if employee.user_id.store_id == self.working_hours_id.store_id:
ids.append(employee.id)
res['domain'] = {
'monday': [('id', 'in', ids)],
}
return res


This will work very well! BUT only if the field value 'name' changes.. Is there a way to apply this from the beginning?

Best regards

--

Alejandro

形象
丢弃
最佳答案

Hi,

- One option is to make it a compute field of type Many2many. And you can add the above code on that function, according to what should be returned on that field.

- Another option is to override the view_init() which is triggered everytime showing a form view, you can add your code in that function.

This post also might be helpful, which describes another way:

https://www.odoo.com/es_ES/forum/help-1/question/how-to-apply-domain-filter-on-many2many-field-28988 


形象
丢弃
相关帖文 回复 查看 活动
0
11月 22
80
1
6月 22
7148
1
7月 21
2739
1
7月 21
4167
9
2月 16
49198