首页 > 解决方案 > 类型错误:create() 在尝试创建新记录时恰好采用 2 个参数(给定 1 个)

问题描述

我正在尝试在按钮调用的模型方法中以编程方式创建新的采购订单。

我这样做:

@api.multi
def do_create_purchase_order(self):
    purchase_order = self.env['purchase.order'].create()

但我得到:

TypeError: create() takes exactly 2 arguments (1 given)

如何创建新的采购订单?

标签: odooodoo-10

解决方案


我认为您错过了创建采购订单的 vals,

因为create 方法需要创建记录所需的值列表,所以试试这个,

purchase_order = self.env['purchase.order'].create({
        'partner_id': your_cusromer'id,
        'currency_id': specific_currency,
        'order_line': [
            (0, 0, {
                'name': product.name,
                'product_id': product.id,
                'product_qty': quantity,
                'product_uom': product.uom_po_id.id,
                'price_unit': price_unit,
                'date_planned': date,
                'taxes_id': [(6, 0, product.supplier_taxes_id.ids)] if set_tax else False,
            })],
         'date_order': fields.Date.today(),
    })

我希望这个例子能满足你的要求。

谢谢。


推荐阅读