唯一的值,但如何防止拼写错误- Odoo



我可以使用下面提到的_sql_constraints来防止重复,但是当用户输入如下:

面包店

面包店

bakry

等等……

如何防止用户不输入这种类型的值?

> _sql_constraints = [
> 
>     ('categoryname_unique',
> 
>      'unique(name)',
> 
>      'each category should be unique'),
> 
> ]

我相信_sql_constraints不区分大小写,所以Bakery应该与bakery相同因此,如果它是不同情况下的相同属性,则无法创建记录。对吧?

可选,您可以将其更改为selection字段。而不是用户输入值,让我们的经理创建该值,用户将从列表中选择它。

至少我可以避免重复使用相同的拼写,但在任何情况下(不区分大小写)使用下面的代码(感谢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

相关内容

  • 没有找到相关文章

最新更新