İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
3678 Görünümler

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
Vazgeç
En İyi Yanıt

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
Vazgeç
En İyi Yanıt

Hi, 

You can watch following video for this:

https://youtu.be/ezH3ql5Dmx4

Thanks

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Eki 23
1592
2
Eki 23
1836
4
Ağu 23
20008
3
Eki 22
10518
3
Mar 22
36899