Welcome!

This community is for professionals and enthusiasts of our products and services. Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

0

Restringir un campo para que sea unico

por
Francisco Tobar
en 12/10/15 20:10 1.510 vistas

Hola, quisiera saber como hacer para restringir un campo de un objeto para que el valor del mismo sea unico, por ejemplo el codigo de cliente. Intente hacerlo de la siguiente manera pero no dio resultado :

 _sql_constraints = [
  ('name_uniq', 'unique(name)', 'El nombre del registro debe ser unico!'),
 ]

Este codigo lo inserte dentro del archivo .py donde se define el objeto.

Desde ya gracias.


1
Daniel Blanco
En 20/10/15 00:42

Podés definir un método dentro de tu clase, que esté decorado con @api.constrains

Con esto, tenés un mejor control de lo que querés hacer. En esta página tenés un ejemplo de como se puede usar.

http://djpatelblog.blogspot.cl/2014/09/odoo-new-api-metaclasses-and-decorators.html

Básicamente es de la siguiente forma:

@api.one
@api.constrains('name', 'description')
def _check_description(self):
    if self.name == self.description:
        raise ValidationError("Fields name and description must be different")
 

 

También dale una mirada al módulo partner_vat_unique por ejemplo.

 


Mantener informado

Acerca de esta comunidad

¡Hola! Este foro tiene la finalidad de compartir con la comunidad de Odoo Argentina preguntas y respuestas funcionales y técnicas. Lea las directrices

Herramientas de las preguntas

9 seguidor(es)

Estadísticas

Preguntado: 12/10/15 20:10
Visto: 1510 veces
Última actualización: 14/4/18 12:41