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

Hello,

I have an issue when updating selection field in an onchange function, here is my python code :


class Billard(models.Model):
_name = 'billard'
name = fields.Char()
value = fields.Integer()
value2 = fields.Float(compute="_value_pc", store=True)
value3 = fields.Selection(string="Selection",selection=[('pair','Pair'),('impair','Impair')],default = 'impair')
value4 = fields.Selection(string="Selection dependante",selection = [('1','1'),('3','3'),('5','5')])
description = fields.Text()
   boule_id = fields.One2many('boules','billard_id')

@api.onchange('value3')
def get_selection(self) :
if self.value3 :
if self.value3 == "impair" :
self.value4 = [('1','1'),('3','3'),('5','5')]
else :
self.value4 = [('2','2'),('4','4'),('6','6')]
else :
self.value4 = [('1','Select Value 3')]

I get this error on forme view : ValueError: Wrong value for billard.value4: [('1', '1'), ('3', '3'), ('5', '5')]

Did i anything wrong ?

thank you :)


아바타
취소
베스트 답변

Hello !

You can not change the Selection field selection property from onchange . you can only change the Value of the selection field (Selected Value from the already selection keys and values).

To achieve what you want  you have to create the Object . use many2one to that object instead of the selection field .

And return the domain in the Onchange . that will work properly .

You can also use the widget="selection" in the xml file for m2o  or use no_create option that will give look and feel for selection field.

 

아바타
취소
관련 게시물 답글 화면 활동
1
3월 21
4281
1
1월 23
2291
0
7월 20
3403
1
7월 19
6883
1
8월 23
1955