'haw to create many2one with xml rpc ODOO v14?

i want to create PRODUCT I want to show 'categ_id' How can it be accomplished 'categ_id' . fields many2one with XML RPC



Solution 1:[1]

In the following example, we retrieve the record id of the saleable category from the database to create a new product:

import xmlrpc.client

url = 
db = 
username = 
password = 


common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))

uid = common.authenticate(db, username, password, {})


models.execute_kw(db, uid, password, 'product.template', 'create', 
                  [{'name': 'Test Product', 'categ_id': 1}])

Update:

For One2many and Many2many fields, Odoo uses a special command to manipulate the relation they implement which can be used from XMLRPC:

Via RPC, it is impossible nor to use the functions nor the command constant names. It is required to instead write the literal 3-elements tuple where the first element is the integer identifier of the command.

Example: (create a product template with vendor pricelists)

models.execute_kw(db, uid, password, 'product.template', 'create',
                  [{'name': 'Test Product',
                    'categ_id': 1,
                    'seller_ids': [(0, 0, {'name': 1,
                                           'min_qty': 1000,
                                           'price': 258.5,
                                           'delay': 5
                                           }
                                    )]
                    }])

The triplet format may change for other operations, for example for update, you will need to specify the record id in the following format: (1, id, values)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1