Search code examples
pythonodooodoo-13

how to add product to sale.subscription order line using the create function odoo 13


can't figure out how to add a line to sale.subscription using the create function from another model

   subscription_pak = self.env['product.template'].search([('name', '=', pak_name),('recurring_invoice', '=', True)], limit=1)
   subscription_info = {
      'partner_id': vals['name'],
   }    
   add_subscription = self.env['sale.subscription'].create(subscription_info)    

   print('ssssss',subscription_pak)
   #works


   add_subscription_pak = {
     'product_id': subscription_pak.id,
     'partner_id': add_subscription.id,
   }    
   link_user_to_subscription = self.env['sale.subscription.line'].create(add_subscription_pak)

I am creating the subscription but can't find the field to use add product to the lines

can you please help


Solution

  • Thanks to odoo Mates on YouTube, this video his from odoo Mates channel How To Update One2many Field From OnChange Of Field in Odoo and @bigbear3001

    this is what worked for me

            supsctiption_pak = self.env['product.product'].search([('name', '=', pak_name),('recurring_invoice', '=', True)], limit=1)
            supsctiption_info = {
                'partner_id': vals['name'],
            }    
            add_supsctiption = self.env['sale.subscription'].create(supsctiption_info)
    
            supsctiption_to_pak = self.env['sale.subscription'].search([('partner_id', '=', vals['name'])], limit=1)
    
    
            add_supsctiption_pak = {
                    'product_id': supsctiption_pak.product_variant_id.id,
                    'uom_id': supsctiption_pak.uom_id.id,
                    'price_unit': supsctiption_pak.list_price,
                }    
            supsctiption_to_pak.write({'recurring_invoice_line_ids':[(5, 0, 0),(0,0,add_supsctiption_pak)]})