提供基础控制器和服务,以简化自定义API实现。
项目描述
此插件旨在为其他Odoo模块中的REST自定义实现提供基本服务和控制器结构。
用法
在我们的自定义模块中。当我们需要公开特定的模型时,我们将创建一个继承自基础服务的服务。
from odoo.addons.component.core import Component
from odoo.addons.base_rest_base_structure.models.api_services_utils import APIServicesUtils
class CustomModelService(Component):
_inherit = "base.rest.private_abstract_service"
_name = "custom_module.custom_model.services"
_usage = "custom-endpoint"
_description = """
Custom Model Service
"""
def get(self, _id):
record = self.env["custom_module.custom_model"].search(
[("id", "=", _id)]
)
if record:
record.ensure_one()
utils = APIServicesUtils.get_instance()
# Define here all fields to be passed to the response
attributes = ["name"]
# Define here all many2one fields to be passed to the response
rel_attributes = {
"rel_model_id" : "name"
}
return utils.generate_get_dictionary(record,attributes,rel_attributes)
else:
raise wrapJsonException(
NotFound(_("No reward record for id %s") % _id)
)
def create(self, **params):
utils = APIServicesUtils.get_instance()
# define all fields that the API receive
attributes = ["name"]
create_dict = utils.generate_create_dictionary(params,attributes)
record = self.env["custom_module.custom_model"].create(create_dict)
return {"_id": record.id}
# rest of methods defined below
变更日志
12.0.1.0.0
第一个官方版本。
错误跟踪器
错误在GitLab Issues上跟踪。如果遇到问题,请检查是否已经报告了您的问题。如果您是第一个发现它的人,请帮助我们通过提供详细且受欢迎的反馈来解决问题。
鸣谢
基于Robin Keunen对easy_my_coop_api模块的初始工作,以及OCA rest-api的base_rest_demo。尝试从这个功能中分离出easy_my_coop垂直合作基础设施。
贡献者
Dani Quilez <dani.quilez@coopdevs.org>
维护者
此模块由Coopdevs Treball SCCL维护。
项目详情
关闭
odoo14_addon_base_rest_base_structure-14.0.0.0.1-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 66941524f852aa4517a84f60b00f4d696011635f728b028665a7b6853a81b950 |
|
MD5 | 9ee58e3e87571640f31c653217c6f182 |
|
BLAKE2b-256 | 14a699188b90ec07041467b3a104dfe302b072f83ed4f4a2061bad9af5fcb4d0 |