@api.constrains 🛑 ¡Lo Que Tienes Que Saber! Restricciones Python Odoo | Ejemplo date y UNIQUE name

@api.constrains 🛑 ¡Lo Que Tienes Que Saber! Restricciones Python Odoo | Ejemplo date y UNIQUE name

¿Cómo utilizar restricciones en Python?

Introducción a los constraints

  • Josué presenta el tema del video: el uso de restricciones (constraints) en Python para evitar que los usuarios ingresen datos incorrectos.
  • Se mencionan las restricciones comunes, como prevenir campos vacíos, valores no deseados y la repetición de valores.

Importancia de las restricciones

  • Las restricciones ayudan a prevenir inconsistencias en los datos dentro del modelo.
  • Se explican dos métodos para implementar constraints: mediante SQL y código Python; este video se centrará en el segundo.

Implementación de constraints en Python

  • Para usar el decorador @api.constrains, es necesario definir los campos involucrados. La validación se activa al modificar estos campos.
  • El método debe lanzar una excepción (ValidationError) si alguna validación falla. Los nombres de campos relacionales no son compatibles con este decorador.

Estructura básica para declarar una restricción

  • Se muestra cómo importar ValidationError y utilizar el decorador @api.constrains con uno o más campos.
  • Un ejemplo práctico involucra validar fechas al modificar un campo específico.

Ejemplo práctico: Validación única de nombres

  • Se discute un inconveniente donde Odoo considera diferentes registros basados en mayúsculas/minúsculas, permitiendo duplicados.
  • Para abordar esto, se crea un método llamado check_unique_name que ignora diferencias entre mayúsculas y minúsculas al validar nombres.

Proceso de validación

  • El método consulta todos los registros excluyendo el ID actual y compara nombres convertidos a minúscula.
  • Si se encuentra un nombre duplicado (sin considerar mayúsculas), se lanza un ValidationError.

Resultados de la implementación

  • Al probar la restricción, se observa que Odoo permite guardar registros duplicados hasta que se implementa la validación en Python.
  • Con la nueva restricción, intentar guardar un registro duplicado genera un error de validación efectivo.

Conclusión sobre las ventajas del uso de código Python para restricciones

Turn any video into a summary like this

YouTube links, meetings, lectures — with transcripts, search, and chat.

Video description

En este video explico qué son, para qué sirven y cómo usar las restricciones python dentro de Odoo con el decorador @api.constrains. Ejemplo práctico de restricción de campos únicos y restricción con fecha. 🎓 Curso gratuito para aprender a programar en Odoo: https://www.youtube.com/playlist?list=PLXwzJRuH--eYHB3OD2wATjzJ83UAp2WQs 🎨 ¿Quieres algo más personalizado? ¿Quieres capacitar a tu equipo de trabajo? Contáctame y platicamos... https://ko-fi.com/josuheuh/commissions 🎓 Curso gratuito API externa Odoo: https://www.youtube.com/playlist?list=PLXwzJRuH--eZn0SMw79wDSVlFT0Qtcn9j 🌐 Conéctate fácilmente a través de la API de Odoo usando este Script 👇: https://ko-fi.com/s/0466aa2700 ☕️ Apoya a este canal con un Café: https://ko-fi.com/josuheuh 00:00 Introducción 00:07 ¿Qué son y para qué sirven? 01:01 Python api.constrains 02:16 Código básico 03:20 Restricción UNIQUE SQL limitado 04:10 unique name con api.constrains 06:14 Probando la restricción en Odoo