I have 4 fields but only 2 can be selected as maximum. If 3 fields were selected, I would need to raise a ValidationError. How can I do this? By the way, they can be selected in random order.
我有4个字段,但最多只能选择2个字段。如果选择了3个字段,我需要引发ValidationError。我怎样才能做到这一点?顺便说一下,它们可以按随机顺序选择。
field1 = fields.Boolean(string='Field 1')
field2 = fields.Boolean(string='Field 2')
field3 = fields.Boolean(string='Field 3')
field4 = fields.Boolean(string='Field 4')
@api.constrains('field1', 'field2', 'field3', 'field4')
def fields_constr(self):
if fields ...
1 个解决方案
#1
1
Python makes it easy :)
Python让它变得简单:)
@api.constrains('field1', 'field2', 'field3', 'field4')
def fields_constr(self):
values = [self.field1, self.field2, self.field3, self.field4]
if values.count(True) > 2:
raise ValidationError(
_('You can select two options as maximum.'),
)
#1
1
Python makes it easy :)
Python让它变得简单:)
@api.constrains('field1', 'field2', 'field3', 'field4')
def fields_constr(self):
values = [self.field1, self.field2, self.field3, self.field4]
if values.count(True) > 2:
raise ValidationError(
_('You can select two options as maximum.'),
)