Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
2 Răspunsuri
3350 Vizualizări

Hi, 

I have two new models I added :


    class Model1(models.Model):
    _name = 'model1'
    
_description = 'model1'

    
name = fields.Char(string='Nom')
    
category = fields.Many2many('model2', string='model2')


    class Model2(models.Model):
    _name = 'model2'
    
_description = 'model2'
    
name = fields.Char(string='Nom')


Model1 can contain many model2, and model2 can be contained in different model1. On my hr.employee model, I would like my user to select a model1, then display a list of model2 according to the model1, in order to make him select one of these model2. How can I achieve that ? I already tried domains, but it does not seem to work with domain.

Imagine profil
Abandonează
Cel mai bun răspuns

see how to return dynamic domains from python side: https://www.youtube.com/watch?v=dq5Vtj_pwuI&t=197s

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,

Please try the below:

from odoo import fields, models,api

class HrEmployee(models.Model):
_inherit = 'hr.employee'

model1_id = fields.Many2one('model1')
model2_id = fields.Many2one('model2')

@api.onchange('model1_id')
def onchange_model1_id(self):
for rec in self:
return {'domain': {'model2_id': [('model1_id', '=', rec.model1_id.id)]}}

Regards

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
1
oct. 22
3820
1
ian. 22
3446
8
feb. 17
8360
0
ian. 17
5873
0
dec. 15
5320