在Odoo8中实现ean13的唯一性,可以通过以下步骤:
_sql_constraints
来实现,示例代码如下:class MyModel(models.Model):
_name = 'my.model'
ean13 = fields.Char(string='EAN13', size=13)
_sql_constraints = [
('ean13_unique', 'unique(ean13)', 'EAN13 must be unique!')
]
create
和write
方法来实现,示例代码如下:class MyModel(models.Model):
_name = 'my.model'
ean13 = fields.Char(string='EAN13', size=13)
@api.model
def create(self, vals):
if 'ean13' in vals:
existing_record = self.search([('ean13', '=', vals['ean13'])])
if existing_record:
raise ValidationError('EAN13 must be unique!')
return super(MyModel, self).create(vals)
@api.multi
def write(self, vals):
if 'ean13' in vals:
existing_record = self.search([('ean13', '=', vals['ean13']), ('id', '!=', self.id)])
if existing_record:
raise ValidationError('EAN13 must be unique!')
return super(MyModel, self).write(vals)
这样,在创建或修改记录时,系统会检查是否已存在具有相同ean13值的记录,如果存在,则会引发验证错误。
请注意,以上代码仅为示例,您需要根据您的实际需求进行适当的修改和调整。
关于Odoo8的更多信息和文档,请参考腾讯云的Odoo8产品介绍链接地址:Odoo8产品介绍
领取专属 10元无门槛券
手把手带您无忧上云