【问题标题】:TypeError: res.partner(id,) is not JSON serializableTypeError: res.partner(id,) 不是 JSON 可序列化的
【发布时间】:2016-03-23 12:05:48
【问题描述】:

我在 sale.order.line 模型上有一个按钮,可以在 stock.picking 模型上打开一个弹出窗口。弹出窗口完美打开,但是当我想使用默认弹出的某些字段时,Odoo 显示以下消息:

TypeError: res.partner(id,) is not JSON serializable

在下图中显示了如何弹出:

这是打开弹窗的函数:

    @api.multi
    def action_stock_picking(self):        
        self.ensure_one()
        picking_form = self.env.ref('stock.view_picking_form', False)
            return {
                'name': _('Formulario de Inventario: Recepciones'),
                'type': 'ir.actions.act_window',
                'view_type': 'form',
                'view_mode': 'form',
                'res_model': 'stock.picking',
                'views': [(picking_form.id, 'form')],
                'view_id': picking_form.id,
                'target': 'new',
                'context': dict(
          #partner_id stock.picking = partner_id sale.order.line

                    **default_partner_id=self.order_id.partner_id,**

                    default_origin=self.order_id.name,
                    default_picking_type_id = 1,
                    default_model='stock.picking',
                    default_res_id=self.id,
                    default_composition_mode='comment',
                    mark_invoice_as_sent=True,
                ),
            }

当我想消费客户端弹窗时,Odoo 会显示我之前提到的错误。

非常感谢大家。希望对你有所帮助。

【问题讨论】:

    标签: python openerp odoo-9


    【解决方案1】:

    您必须像 default_partner_id=self.order_id.partner_id.id, 一样设置 default_partner_id 而不是 default_partner_id=self.order_id.partner_id, 来设置默认合作伙伴。请使用以下代码。

    @api.multi
    def action_stock_picking(self):        
        self.ensure_one()
        picking_form = self.env.ref('stock.view_picking_form', False)
            return {
                'name': _('Formulario de Inventario: Recepciones'),
                'type': 'ir.actions.act_window',
                'view_type': 'form',
                'view_mode': 'form',
                'res_model': 'stock.picking',
                'views': [(picking_form.id, 'form')],
                'view_id': picking_form.id,
                'target': 'new',
                'context': dict(
          #partner_id stock.picking = partner_id sale.order.line
    
                    default_partner_id=self.order_id.partner_id.id,
    
                    default_origin=self.order_id.name,
                    default_picking_type_id = 1,
                    default_model='stock.picking',
                    default_res_id=self.id,
                    default_composition_mode='comment',
                    mark_invoice_as_sent=True,
                ),
            }
    

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 1970-01-01
      • 2017-10-24
      • 2016-08-02
      • 2019-02-08
      • 2013-05-11
      • 2014-08-13
      • 2019-09-01
      • 1970-01-01
      相关资源
      最近更新 更多