首页 文章

TypeError:'int' object在向导中不可迭代

提问于
浏览
2

我的代码有问题 .

if not context.get('account_id', False):
     wizard_id = self.env.get('ir.model.data').get_object_reference('l10n_mn_consume_order', 'action_consumable_material_in_use_wizard')[1]
     result = **self.env.get('ir.actions.act_window').read(wizard_id)**
     result['context'] = dict(self.context.items(), active_id=asset.id, active_ids=[asset.id])
     return result
     print 'some action'

错误是:

文件“/home/delgertsetseg/workspace/odoo/addons/web/controllers/main.py”,第877行,在_call_kw中返回call_kw(request.env [model],方法,args,kwargs)文件“/ home / delgertsetseg /workspace/odoo/odoo/api.py“,第689行,在call_kw中返回call_kw_multi(方法,模型,args,kwargs)文件”/home/delgertsetseg/workspace/odoo/odoo/api.py“,第680行, call_kw_multi result = method(recs,* args,** kwargs)文件“/ home / delgertsetseg / workspace / oderp10 / addons / l10n_mn_consume_order /models/consume_material_in_use.py”,第113行,在button_done result = self.env.get(' ir.actions.act_window') . read(wizard_id)文件“/home/delgertsetseg/workspace/odoo/odoo/addons/base/ir/ir_actions.py”,第317行,读取结果= super(IrActionsActWindow,self) . read(fields,load = load)文件“/home/delgertsetseg/workspace/odoo/odoo/models.py”,第2993行,在字段中的readfor名称中:TypeError:'int'对象不可迭代

当你看到我的问题 . 我需要使用向导中传递的值进行操作 . 然后我有一些动作我试试这个解决方案:

return {
                'name': _('Account?'),
                'type': 'ir.actions.act_window',
                'view_type': 'form',
                'view_mode': 'form',
                'res_model': 'consumable.material.in.use.wizard',
                'views': [(view.id, 'form')],
                'view_id': view.id,
                'target': 'new',
#                 'res_id': wiz.id,
                'context': self.env.context,
            }

解决方案无法在代码后运行返回 .

我没有在向导中传递值 .

请帮我 .

1 回答

  • 2

    它似乎是错误是由于 l10n_mn_consume_orderbutton_done 方法,您尝试返回一个操作 .

    这是克服错误的可能解决方案 .

    @api.multi
    def button_done(self):
        self.ensure_one()
        # your code here
        action = self.env.ref('l10n_mn_consume_order.wizard_action_id').read()[0] 
        # replace the wizard_action_id with your wizard's action
        action['context'] = dict(self.context.items(), active_id=asset.id, active_ids=[asset.id])
        return action
    

    确保在向导视图文件中存在ir.actions.act_window记录 .

    希望这可以帮助 .

相关问题