Skip to Content
Menu
This question has been flagged
1 Atsakyti
11000 Rodiniai

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

Portretas
Atmesti
Best Answer

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 


Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
0
lapkr. 22
80
1
birž. 22
7397
1
liep. 21
2907
1
liep. 21
4390
9
vas. 16
49452