【问题标题】:Accessing to Odoo data with Django REST API使用 Django REST API 访问 Odoo 数据
【发布时间】:2018-08-20 09:07:18
【问题描述】:

我正在尝试通过从 Odoo 检索数据来构建 Django REST API 电子商务,因为我首先需要连接到 odoo 数据库。 知道如何做到这一点!?

PS:使用 XML-RPC 很容易,但我想使用 REST 非常感谢。

【问题讨论】:

    标签: python django django-rest-framework odoo django-rest-auth


    【解决方案1】:

    Odoo 通常通过模块在内部进行扩展,但它的许多功能和所有数据也可从外部用于外部分析或与各种工具集成。部分模型 API 可通过 XML-RPC 轻松获得,并可通过多种语言访问。

    阅读更多:https://www.odoo.com/documentation/14.0/webservices/odoo.html

    使用 Django REST 框架的 XML-RPC 示例:

        import xmlrpclib
        from rest_framework.decorators import api_view
        from rest_framework.response import Response
        
        db = '<DB-NAME>'
        url = '<your-host-name:8069>'
        
        models = xmlrpclib.ServerProxy('{}/xmlrpc/2/object'.format(url))
        common = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(url))
        
        def get_uid():
            username = '<your-odoo-username>'
            password = '<your-odoo-password>'
            uid = common.authenticate(db, username, password, {})
            return uid, password
    
        # create default execute method (Odoo Xmlrpc)
        def execute(*args):
            uid = get_uid()[0]
            password = get_uid()[1]
            return models.execute_kw(db, uid, password, *args)
    
        # Rest Api for get contact list of odoo with name only
        @api_view(['GET'])
        def get_contacts_list(request):
            contacts = execute('res.partner', 'search_read', [[]], {'fields':['name']})
            return Response({'result': contacts, 'status_code': 200})
    

    【讨论】:

      猜你喜欢
      • 2018-01-09
      • 2016-03-19
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      • 2018-03-25
      • 2018-02-12
      相关资源
      最近更新 更多