定义pydantic基类序列化器
项目描述
此模块是一个技术模块,定义了一个名为PydandicModelSerializer的新抽象类,它继承自odoo.addons.connector_search_engine.tools.serializer.ModelSerializer
此新类定义了一个新的抽象方法 get_model_class。此方法由索引用于获取用于生成json模式的Pydantic模型类。
在索引表单中,如果序列化器是PydanticModelSerializer,则会显示一个字段来显示相关的json模式,从而提供有关导出字段及其特性的文档。
目录
用例/上下文
当您将记录导出到搜索引擎时,通常希望提供有关导出字段及其特性的文档。
当用于导出记录的序列化器是Pydantic模型时,您可以使用Pydantic生成的json模式来提供此文档。
用法
当您基于Pydantic模型定义序列化器时,您的序列化器类必须继承自PydanticModelSerializer并实现方法 get_model_class 以利用此模块提供的功能。
示例
from typing import Type
from pydantic import BaseModel
from odoo.addons.search_engine_serialize_pydantic.tools.serializer import (
PydanticModelSerializer,
)
class MyModel(BaseModel):
name: str
description: str
def record_to_model(self, record: Model) -> dict:
return cls(
name=record.name,
description=record.description,
)
class MyModelSerializer(PydanticModelSerializer):
def get_model_class(self) -> Type[MyModel]:
return MyModel
def serialize(self, record: Model) -> dict:
model: MyModel = self.get_model_class().record_to_model(record)
return model.model_dump()
已知问题/路线图
在索引表单中添加专用小部件,以用户友好的方式显示序列化器生成的json模式。
错误跟踪器
错误追踪在 GitHub Issues 上。如有问题,请检查是否已有人报告过您的问题。如果您是第一个发现的,请通过提供详细且受欢迎的 反馈 来帮助我们解决问题。
请不要直接联系贡献者寻求支持或技术问题的帮助。
鸣谢
贡献者
Laurent Mignon laurent.mignon@acsone.eu (https://www.acsone.eu/)
其他鸣谢
本模块的开发得到了以下机构的财务支持:
(ALCYON Belux)[https://www.alcyonbelux.be/fr/]
维护者
本模块由 OCA 维护。
OCA,即 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛应用。
当前 维护者
本模块是 GitHub 上 OCA/search-engine 项目的 OCA/search-engine 的一部分。
欢迎您贡献力量。了解如何贡献,请访问 https://odoo-community.org/page/Contribute。
项目详情
odoo_addon_search_engine_serializer_pydantic-16.0.1.0.0.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 48fd8ea400b72851ef217e0b6cd22930ccca09ae1a98c174eeb5c929a4b8d9c3 |
|
MD5 | 87b561d7495fff2c591c0c369e6d79a7 |
|
BLAKE2b-256 | 1663dc62e2bae6d5c15e43e26ccf3048a84ad9e93040e0ebeb4332ce6b02d0dc |