跳至内容
菜单
此问题已终结

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.

形象
丢弃
最佳答案

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

形象
丢弃
最佳答案

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

形象
丢弃
相关帖文 回复 查看 活动
1
10月 22
3823
1
1月 22
3451
8
2月 17
8367
0
1月 17
5875
0
12月 15
5328