独特的价值,但如何防止拼写错误 - Odoo
Unique values but how to prevent with spelling mistakes - Odoo
我可以使用下面提到的 _sql_constraints 来防止重复但是当用户输入时:
面包店
面包店
烘焙食品
等...
如何防止用户不输入此类值?
> _sql_constraints = [
>
> ('categoryname_unique',
>
> 'unique(name)',
>
> 'each category should be unique'),
>
> ]
我认为 _sql_constraints 不区分大小写,因此 Bakery 应被视为与 相同bakery,所以如果是同一个属性不同case,则无法创建记录。对吗?
或者,您可以将其更改为 selection
字段。让我们的经理创建该值,而不是让用户输入值,然后用户将从列表中 select 它。
至少我可以避免重复相同的拼写,但在任何一种情况下(不区分大小写)使用下面的代码(感谢 odoo 论坛 - @Neha Sharma-Kanak)
@api.constrains('name')
def _check_unique_brand(self):
brand_ids = self.search([]) - self
value = [x.name.lower() for x in brand_ids]
if self.name and self.name.lower() in value:
raise ValidationError(_('The Brand Name is already Exist'))
return True
我可以使用下面提到的 _sql_constraints 来防止重复但是当用户输入时:
面包店
面包店
烘焙食品
等...
如何防止用户不输入此类值?
> _sql_constraints = [
>
> ('categoryname_unique',
>
> 'unique(name)',
>
> 'each category should be unique'),
>
> ]
我认为 _sql_constraints 不区分大小写,因此 Bakery 应被视为与 相同bakery,所以如果是同一个属性不同case,则无法创建记录。对吗?
或者,您可以将其更改为 selection
字段。让我们的经理创建该值,而不是让用户输入值,然后用户将从列表中 select 它。
至少我可以避免重复相同的拼写,但在任何一种情况下(不区分大小写)使用下面的代码(感谢 odoo 论坛 - @Neha Sharma-Kanak)
@api.constrains('name')
def _check_unique_brand(self):
brand_ids = self.search([]) - self
value = [x.name.lower() for x in brand_ids]
if self.name and self.name.lower() in value:
raise ValidationError(_('The Brand Name is already Exist'))
return True