You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 10创建Res Partner REST API遇404错误求助

Odoo Res Partner API 404错误排查方案

一、核心问题:Manifest文件位置错误

你的__manifest__.py放在了models/目录下,不符合Odoo模块规范。Odoo只会从模块根目录读取manifest文件识别模块,models目录下的manifest不会被加载,导致整个模块未被系统识别,控制器路由自然无法注册。

修正步骤:

  • 将models/__manifest__.py移动到模块根目录Custom_Api/下
  • 删除models/目录下的空__init__.py(若无其他用途)

二、init.py文件内容缺失

Odoo依赖__init__.py文件导入控制器类,否则控制器不会被加载到系统中。

修正步骤:

  1. 模块根目录的__init__.py添加以下内容:
from . import controllers
  1. controllers/__init__.py添加以下内容:
from . import main

三、控制器返回格式优化(解决404后可能遇到的问题)

直接返回字典不符合HTTP响应规范,建议转换为JSON格式返回,同时设置正确的响应头:

修正后的控制器代码:

from odoo import http
from odoo.http import request
import json

class PartnerApi(http.Controller):

    @http.route('/api/partners', type='http', auth='public', methods=['GET'], csrf=False)
    def get_partners(self):
        partners = request.env['res.partner'].sudo().search([])
        result = []
        for partner in partners:
            result.append({
                'id': partner.id,
                'name': partner.name,
                'email': partner.email,
            })
        return request.make_response(json.dumps(result), headers={'Content-Type': 'application/json'})

    @http.route('/api/partner', type='http', auth='public', methods=['POST'], csrf=False)
    def create_partner(self, **kwargs):
        name = kwargs.get('name')
        email = kwargs.get('email')

        if not name:
            return request.make_response(json.dumps({'error': 'Name is required'}), headers={'Content-Type': 'application/json'}, status=400)

        partner = request.env['res.partner'].sudo().create({
            'name': name,
            'email': email
        })
        return request.make_response(json.dumps({
            'success': True,
            'id': partner.id,
        }), headers={'Content-Type': 'application/json'})

四、确认模块已正确安装

完成以上修正后,重启Odoo服务,在Odoo后台「应用」菜单中搜索模块REST API for Res Partner v2,确保模块已安装。

内容的提问来源于stack exchange,提问作者StressCodingCok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:50:02