Skip to Content
Menu
This question has been flagged
1 Reply
1442 Views


class A has a One2many field Wproductlist which points to Class B. i want to update the quantity field of stock.quant class by subtracting quantity_needed field of classB. how can i acheive this. I tried the below code, but it shows singeton error when the class B has multiple records.

class A
wproductlist = fields.One2many(comodel_name="class a",    inverse_name="ppp", string="Product List")

  api.multi
  def update
   d =  self.env['stock.quant'].search([('product_id', '=', 
    self.wproductlist.productname)])
   for record in d:
         record.write({'quantity':quantity'})


class B
_name = "classa"
productname = fields.Char(string="Product Name")
quantity = fields.Char(string="Product Available"


Avatar
Discard
Author

@sudhir arya : partially worked brother.. Now singelton error vanishes but how to include the quantity filed in the write function

Brother, that depends on your logic. You have to think about your object structure and business logic.

Best Answer

You have to use loop to access the O2m field or similar to that. 

Try following code: 

productname = [prod.productname for prod in self.wproductlist]
d = self.env['stock.quant'].search([('product_id', 'in', productname)])


Avatar
Discard