在odoo中得到这样的错误

时间:2016-09-05 12:27:06

标签: python openerp odoo-9

  

TypeError:无法将字典更新序列元素#0转换为序列

我的代码

@api.model
def action_purchase_order(self):
    rec= self.env['purchase.order'].create({
        'partner_id' : self.vendors,
        'store_id' : self.store_id,
        'purchase_order_type' : self.order_type,
        'date_order' : self.date_order,
        'product_id' : self.product_id,
        'date_planned' : self.date_order,
        'product_qty' : self.name,
        'brand_id' : self.brand_id,
        'product_id' : self.product_id,
        'part_number': self.part_number,
        'date_planned' : self.date_order,
        'product_qty' : self.quantity_no,

    })

    return rec

通过按钮访问..

1 个答案:

答案 0 :(得分:2)

使用@api.multi装饰器进行按钮操作,当您只关心模型而不是它包含的字段值时,会使用api.model

@api.multi
def action_purchase_order(self):
    rec= self.env['purchase.order'].create({
        'partner_id' : self.vendors,
        'store_id' : self.store_id,
        'purchase_order_type' : self.order_type,
        'date_order' : self.date_order,
        'product_id' : self.product_id,
        'date_planned' : self.date_order,
        'product_qty' : self.name,
        'brand_id' : self.brand_id,
        'part_number': self.part_number,

    })

    return rec
来自docs

  

openerp.api.multi(方法)

     

装饰一个记录式方法,其中self是记录集。方法   通常在记录上定义一个操作。

     

openerp.api.model(方法)

     

装饰一个记录式的方法,其中self是一个记录集,但是它   内容不相关,只有模型。