콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
18823 화면

Hello,

I have Many2one field with domain function,

port_chargement_id = fields.Many2one('res.port', string='POL', domain=lambda self: self._get_port_chargement_domain())
def _get_port_chargement_domain(self):    
    domain = [('desservi', '=', True)]
    if self.sens_fret_id.id == 1:
        domain.append(('pays_id.code', 'not ilike', 'dz'))
    if self.sens_fret_id.id == 2:
        domain.append(('pays_id.code', 'ilike', 'dz'))
    return domain

From the function I tried to get the current item field with the self.sens_fret , but the self.xxxxx  doesn't work and it returns always False, i even tried  with self.name

아바타
취소

Hey salah! if you want to do these kind of stuff in on_change method than have a look it will help you: http://learnopenerp.blogspot.com/2016/10/onchange-many2one-filed-in-odoo.html

작성자

Thanks! but in my case, the sens_fret_id field will be readonly in the next stage, so the port_chargement_id will always depend on the value selected previoulsly. so the onchange function will not be usefull.

베스트 답변

Hi,

try this in an onchange function.

@api.onchange('sens_fret_id')
def onchange_sens_fret_id(self):
    domain = [('desservi', '=', True)]
    if self.sens_fret_id.id == 1:
        domain.append(('pays_id.code', 'not ilike', 'dz'))
    if self.sens_fret_id.id == 2:
        domain.append(('pays_id.code', 'ilike', 'dz'))
    return {'domain': {'port_chargement_id': domain}}

Thank you

아바타
취소
작성자

Thanks! but in my case, the sens_fret_id field will be readonly in the next stage, so the port_chargement_id will always depend on the value selected previoulsly. so the onchange function will not be usefull.

베스트 답변

I had solved the problem. Please see my blog: Odoo14, Pass variable from master to detail by context and using domain function

The article is posted on Facebook Odoo Developers.

아바타
취소
관련 게시물 답글 화면 활동
2
5월 24
7890
4
5월 20
74134
2
5월 24
9335
1
1월 22
12118
1
7월 20
16146