This question has been flagged
13 Replies
11506 Views

Hi,

Due to some reason I need to run sql insert query for creating order lines.
The challenge is I need to map taxes to each order line but, due to I'm not having each line reference "ID"  before,  I can't perform insert onto many2many relation.

Thanks!

Avatar
Discard

Sushma, you know the order id, after that your trying to insert order lines into the particular order.So you can get line ids using order id and already you know the tax id, then tell me what's your problem.

Best Answer

Hi,

At least you need record id to map with many2many relation.

Avatar
Discard
Best Answer

Hello ,

        The id will be automatically created , you dont have to give an id to the record.

        Other than Using Query , You Can Try

        sale_order_line_id = self.env['sale.order.line'].create({
            'order_id':order_id,
            'product_id':product_id,
            'product_uom_qty':quantity,
            'price_unit':unit_price
})

    in this manner give every detailes of the order line and you can create an order line by code

    the line will appear on the order which's id is given as the order_id

Avatar
Discard
Author

Hi,

My question is about creating through sql queries not orm. So i would like to know, identical to mapping many2many using orm [(6,0, ids)], can we perform something with SQL queries.

Thanks.

Best Answer

Hi Sushma,

This is how inserts in query

query = """ INSERT INTO {rel} ({id1}, {id2})

                        (SELECT a, b FROM unnest(%s) AS a, unnest(%s) AS b)

                        EXCEPT (SELECT {id1}, {id2} FROM {rel} WHERE {id1} IN %s)

                    """.format(**parts)


Regards,

Avatar
Discard
Best Answer

Hello, 

Check below link i think it's help you 

https://stackoverflow.com/questions/34362637/sql-many2many-query
Avatar
Discard
Best Answer

Yes we can insert using query.

many2many have a relational table. so insert into the relational table, it will work

Avatar
Discard
Author

Thanks for reply.

Indeed there is different relation for many2many, but my question is while creating parent record how we run SQL query for many2many without ID.

you mean while creating order lines you have insert into many2many relation table

Author

Yes something like while create order lines wanted to add taxes for each lines through sql query

do you have the tax_id while create the order line

Author

Yes oblivious, I guess you're diverting something else, please read my posted question once.

Thanks

so your problem is order line id is not available to link it