OdooWiki OCA HUB

Base Rest Datamodel

base_rest_pydantic folder_open OCA/rest-framework open_in_new
Sin categoría Licencia: LGPL-3

Este complemento te permite usar objetos Pydantic como params y/o response en tus métodos de la API REST.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Este módulo permite a los desarrolladores usar modelos de datos Pydantic como entrada y salida para métodos de la API REST en Odoo, añadiendo validación automática y documentación OpenAPI. No añade ninguna pantalla ni menú para los usuarios finales.

Este es un complemento técnico para el framework de la API REST (base_rest). No añade menús, botones, informes ni reglas de negocio que un usuario normal de Odoo vería. En su lugar, cambia cómo se construyen y documentan los endpoints de la API.

  • Permite que los métodos de la API acepten modelos de datos estructurados (modelos Pydantic) como parámetros y los devuelvan como respuestas.
  • Los datos entrantes se validan automáticamente; si no coinciden con el modelo esperado, la solicitud se rechaza con un error "BadRequest".
  • Los datos salientes también se validan antes de enviarse; si no coinciden con el modelo esperado, se lanza un error "Invalid Response".
  • Admite listas de modelos, con un número mínimo y máximo de elementos opcional, y un indicador para documentar que los elementos deben ser únicos (no aplicado).
  • Genera automáticamente documentación OpenAPI para estos modelos, incluidos parámetros de consulta, cuerpos de solicitud y respuestas, para que los consumidores de la API puedan ver la estructura esperada.

El módulo depende de la librería de Python pydantic versión 2.0 o superior. Solo afecta a la capa de la API REST; no se añaden ni modifican modelos de Odoo.

Depende de

Lo necesitan otros módulos

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 5 confirmadas, 4 sin información de 9 versiones.

Fuentes · Odoo 16.0

Confirmado el 2026-11-03 en la rama 16.0 de OCA/rest-framework.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

Para usar instancias de Pydantic como solicitud y/o respuesta de un endpoint de servicio REST debe:

  • Definir sus clases Pydantic;
  • Proporcionar la información requerida al decorador odoo.addons.base_rest.restapi.method;
from odoo.addons.base_rest import restapi
from odoo.addons.component.core import Component
from odoo.addons.pydantic.models import BaseModel

class PingMessage(BaseModel):
    message: str


class PingService(Component):
    _inherit = 'base.rest.service'
    _name = 'ping.service'
    _usage = 'ping'
    _collection = 'my_module.services'


    @restapi.method(
        [(["/pong"], "GET")],
        input_param=restapi.PydanticModel(PingMessage),
        output_param=restapi.PydanticModel(PingMessage),
        auth="public",
    )
    def pong(self, ping_message):
        return PingMessage(message = "Received: " + ping_message.message)

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.