Skip to main content

Utility addon to ease mapping between Pydantic and Odoo models

Project description

Odoo Community Association

Pydantic

Beta License: LGPL-3 OCA/rest-framework Translate me on Weblate Try me on Runboat

This addon provides a utility method that can be used to map odoo record to a Pydantic model (>= v2).

If you need to make your Pydantic models extendable at runtime, takes a look at the python package extendable-pydantic and the odoo addon extendable

Table of contents

Usage

To support pydantic models that map to Odoo models, Pydantic model instances can be created from arbitrary odoo model instances by mapping fields from odoo models to fields defined by the pydantic model.

To ease the mapping, the addon provide an utility class (using pydantic>2.0) odoo.addons.pydantic.utils.PydanticOdooBaseModel:

from odoo.addons.pydantic.utils import PydanticOdooBaseModel


class Group(PydanticOdooBaseModel):
    name: str

class UserInfo(PydanticOdooBaseModel):
    name: str
    groups: List[Group] = pydantic.Field(alias="groups_id")

user = self.env.user
user_info = UserInfo.from_orm(user)

See the official Pydantic documentation to discover all the available functionalities.

Known issues / Roadmap

The roadmap and known issues can be found on GitHub.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • ACSONE SA/NV

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

lmignon

This module is part of the OCA/rest-framework project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

odoo_addon_pydantic-18.0.1.1.0-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file odoo_addon_pydantic-18.0.1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_pydantic-18.0.1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b87e7591c73ade03056f517f23e8e9c19c8b98a678aa78195e0a76e38e6632c6
MD5 eb41180f76653322afafdbe425e57905
BLAKE2b-256 b32313f3c601be64d907415d36a16ec190a0b8f57a771737c90d02f6c7e0ad0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page