# -*- encoding: utf-8 -*- from openerp import models, fields, api, tools from openerp.exceptions import ValidationError class ProductService(models.Model): _name = 'product.service' name=fields.Char(string='Nombre', compute='_get_product_name', store=True) model=fields.Char(string='Modelo') year=fields.Integer(string='Año') number=fields.Char(string='Número') logo = fields.Binary(string='Logo File') partner_id = fields.Many2one( 'res.partner', string='Cliente', ondelete='restrict' ) description = fields.Text(string='Description') valuation = fields.Float(string='Valor') product_service_brand_id = fields.Many2one( 'product.service.brand', string='Marca' ) @api.one @api.constrains('number') def _controla_numero(self): part_obj = self.env['product.service'].search([('number','=',self.number)]) if len(part_obj) > 1: raise ValidationError('La numero debe ser unico') @api.one @api.depends('product_service_brand_id','model','number') def _get_product_name(self): self.name = self.product_service_brand_id.name + ' / ' + self.model + ' / ' + self.number