Ir al contenido

Bienvenido al foro de Odoo Argentina 🇦🇷 

Brindamos un espacio a la comunidad argentina de Odoo para centralizar el debate, compartir ideas, desarrollos, y formar parte de una comunidad que crece día a día

Para poder participar, debés estar registrado así los miembros de la comunidad pueden interactuar con tus preguntas. 

¿No estás registrado? Registrate acá

Se marcó esta pregunta
1 Responder
3271 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.

Avatar
Descartar
Mejor respuesta

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.

 

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
2
abr 18
3300
1
abr 18
3313
1
abr 18
1948
1
abr 18
5091
0
abr 18
1337