odoo数据迁移:通过python上的odoorpc在多个价格表上输入一个产品

odoo数据迁移:通过python上的odoorpc在多个价格表上输入一个产品,python,odoo,erp,odoo-rpc,Python,Odoo,Erp,Odoo Rpc,我正在编写一个python导入脚本,将数据从xls工作表导入odooErp。 在脚本中,有诸如“名称”、“如果是bom表”和(重要的)不同价格表(在本例中为p1-p4)的“价格”等信息 我正在使用以下版本: 奥多:社区v.12 python:v。3.7.6 ODORPC:0.7.0 我的脚本已经能够在odoodb中找到产品,获取一些xls数据并将其写入odoodb中的产品。 这些字段包括名称、价格(标准价格)、类型等(标准rpc调用) 但我无法将产品写入价格表或为产品分配价格表。 我没有找到任何

我正在编写一个python导入脚本,将数据从xls工作表导入odooErp。 在脚本中,有诸如“名称”、“如果是bom表”和(重要的)不同价格表(在本例中为p1-p4)的“价格”等信息

我正在使用以下版本: 奥多:社区v.12 python:v。3.7.6 ODORPC:0.7.0

我的脚本已经能够在odoodb中找到产品,获取一些xls数据并将其写入odoodb中的产品。 这些字段包括名称、价格(标准价格)、类型等(标准rpc调用) 但我无法将产品写入价格表或为产品分配价格表。 我没有找到任何关于如何管理解决此问题的语法的文档。 所以我试着这样做:

PricelistModel=odoo.env['product.pricelist']
pricelist=PricelistModel.search([('name','=','p1')],limit=1)
如果价格表:
p=PricelistModel.browse(价格列表)
项目={
“应用于”:“1产品”,
“product_tmpl_id”:product['id'],#请尝试以下代码:

PricelistModel = odoo.env['product.pricelist']
pricelist = PricelistModel.search([('name', '=', 'p1')], limit=1)
if pricelist:
    item = {
        'applied_on': '1_product',
        'product_tmpl_id': product['id'], #<-- this is int also tried string
        'compute_price': 'fixed',
        'fixed_price': float(row[3]) #<--- this is int also tried string
    }

    # I assume the 'item' is a correct dictionary and the 'item_ids' is a One2many field, so you need an One2many special command

    p.write({
        'item_ids': [(0, False, item)] 
    })
PricelistModel=odoo.env['product.pricelist']
pricelist=PricelistModel.search([('name','=','p1')],limit=1)
如果价格表:
项目={
“应用于”:“1产品”,
“产品id”:产品['id']#