Skip to Content
Menu
This question has been flagged
2 Replies
3392 Views

Understand the situation
I 've 2 model below. I have added a onchange function based on 'requirement_id' . I want to add a domain filter in panel_id field from requirement_id . is it possible to do? my onchange function in this way it's not working

class PanelVendorAssignment(models.Model):
	​_name = "panel.vendor.assignment"
​requirement_id = fields.Many2one('hr.job', string='Requirement')

​panel_vendor_assignments_ids = fields.One2many(string='Vendor', comodel_name='panel.vendor.assignment.line',
inverse_name='panel_vendor_assignment_id', tracking=True)

@api.onchange('requirement_id')
​def _onchange_panel_stage(self):
​if self.
requirement_id:
​panel_stage_ids = self.
env['panel.time.slot.availability'].sudo().search(
[('requirement_id', '=', self.requirement_id.id),('status', '=', 'open')])
for rec in panel_stage_ids:
​domain =
[('id', '=', rec.panel_user_id.id)]
return {'domain': {'panel_vendor_assignments_ids.panel_id': domain}}

class PanelVendorAssignmentLine(models.Model):
​_name = 'panel.vendor.assignment.line'
​panel_vendor_assignment_id = fields.Many2one(comodel_name='panel.vendor.assignment', ondelete='cascade')
​panel_id = fields.Many2one(comodel_name='res.partner',required=True,)


Avatar
Discard
Best Answer

Hi 

Which Odoo Version you are using? In v16 Passing Domain through onchange is deprecated.

https://github.com/odoo/odoo/pull/41918#issuecomment-824946980

Try the below method.



Avatar
Discard
Best Answer

Hi, 

You can watch following video for this:

https://youtu.be/ezH3ql5Dmx4

Thanks

Avatar
Discard
Related Posts Replies Views Activity
1
Oct 23
1383
2
Oct 23
1622
4
Aug 23
19786
3
Oct 22
10285
3
Mar 22
36713