Python 属性错误:';dict';对象没有属性';id';-新API[Odoo/Openerp]

Python 属性错误:';dict';对象没有属性';id';-新API[Odoo/Openerp],python,opencv,odoo-8,Python,Opencv,Odoo 8,我正在尝试在Odoo中使用新的API。(还是不太熟悉) 我创建了一个继承“sale.order”对象的模块。我在“action\u button\u confirm”方法中添加了代码,如果我的条件为true,该方法将返回向导,我希望在create方法中传输代码,但每当它返回向导时,我都会收到错误: AttributeError: 'dict' object has no attribute 'id' .py文件 class sale_order(models.Model): _inherit

我正在尝试在Odoo中使用新的API。(还是不太熟悉)

我创建了一个继承“sale.order”对象的模块。我在“action\u button\u confirm”方法中添加了代码,如果我的条件为true,该方法将返回向导,我希望在create方法中传输代码,但每当它返回向导时,我都会收到错误:

AttributeError: 'dict' object has no attribute 'id'
.py文件

class sale_order(models.Model):
_inherit = "sale.order"

    @api.model
    def create(self, vals):
        res = super(sale_order, self).create(vals)
        return self.action_try(res)

    def action_try(self, res):
        for order_id in res:
            #codes

            if my_condition:
                return {
                'name': 'My wizard',
                'view_mode': 'form',
                'view_type': 'form',
                'res_model': 'my.wizard',
                'type': 'ir.actions.act_window',
                'nodestroy': True,
                'target': 'new',
                'context': {
                            #fields
                            }
                        }
其他信息

Traceback (most recent call last):
  File "/home/workspace/odoo8/openerp/http.py", line 537, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/workspace/odoo8/openerp/http.py", line 574, in dispatch
    result = self._call_function(**self.params)
  File "/home/workspace/odoo8/openerp/http.py", line 310, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/workspace/odoo8/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/workspace/odoo8/openerp/http.py", line 307, in checked_call
    return self.endpoint(*a, **kw)
  File "/home/workspace/odoo8/openerp/http.py", line 803, in __call__
    return self.method(*args, **kw)
  File "/home/workspace/odoo8/openerp/http.py", line 403, in response_wrap
    response = f(*args, **kw)
  File "/home/workspace/odoo8/addons/web/controllers/main.py", line 944, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/home/workspace/odoo8/addons/web/controllers/main.py", line 936, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/home/workspace/odoo8/openerp/api.py", line 268, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/workspace/odoo8/openerp/api.py", line 373, in old_api
    return downgrade(recs, result, *args, **kwargs)
  File "/home/workspace/odoo8/openerp/api.py", line 291, in <lambda>
    return lambda self, *args, **kwargs: downgrade(args[0])
  File "/home/workspace/odoo8/openerp/models.py", line 4049, in <lambda>
    @api.returns('self', lambda value: value.id)
AttributeError: 'dict' object has no attribute 'id'
回溯(最近一次呼叫最后一次):
文件“/home/workspace/odoo8/openerp/http.py”,第537行,在异常处理中
返回super(JsonRequest,self)。\u handle\u异常(exception)
文件“/home/workspace/odoo8/openerp/http.py”,第574行,在分派中
结果=self.\u调用函数(**self.params)
文件“/home/workspace/odoo8/openerp/http.py”,第310行,在调用函数中
返回选中的\u调用(self.db、*args、**kwargs)
文件“/home/workspace/odoo8/openerp/service/model.py”,第118行,在包装器中
返回f(数据库名,*args,**kwargs)
文件“/home/workspace/odoo8/openerp/http.py”,第307行,在checked_调用中
返回自端点(*a,**kw)
文件“/home/workspace/odoo8/openerp/http.py”,第803行,在调用中__
返回自方法(*参数,**kw)
文件“/home/workspace/odoo8/openerp/http.py”,第403行,作为响应
响应=f(*参数,**kw)
文件“/home/workspace/odoo8/addons/web/controllers/main.py”,第944行,在call\u-kw中
返回self.\u调用\u kw(模型、方法、参数、kwargs)
文件“/home/workspace/odoo8/addons/web/controllers/main.py”,第936行,输入
返回getattr(request.registry.get(model),method)(request.cr,request.uid,*args,**kwargs)
包装器中的文件“/home/workspace/odoo8/openerp/api.py”,第268行
返回旧的_api(self、*args、**kwargs)
旧api中的文件“/home/workspace/odoo8/openerp/api.py”,第373行
返回降级(记录、结果、*args、**kwargs)
文件“/home/workspace/odoo8/openerp/api.py”,第291行,在
返回lambda self,*args,**kwargs:降级(args[0])
文件“/home/workspace/odoo8/openerp/models.py”,第4049行,在
@返回('self',lambda值:value.id)
AttributeError:“dict”对象没有属性“id”

我没有包括我的代码,因为它没有问题(我手动检查),只有当它返回向导时才会出现错误。

您可能返回的是词典而不是预期的对象。您是指向导吗?那我怎么还呢?你想得到什么?已尝试添加日志记录,以便您可以知道错误出现在何处?如果保存报价单/销售订单时我的条件为true,我希望返回向导。当我试图返回向导时出现。if条件后的零件。是否确定此问题与opencv标记有关?