Skip to Content
Menu
This question has been flagged
3 Replies
2977 Views

Hello I've small problem within my code odoo13 enterprise, an onchange funtion in order to set some record in one2many, but thelatter when its changed their relation record are being deleted from database:

here is my code:

@api.onchange('ticket_type_id')
def onchange_ticket_type_id(self):
if self.ticket_type_id and self.ticket_type_id.product_ids:
self.product_ids = self.ticket_type_id.product_ids



Thanks in advance !

Avatar
Discard
Author

I tried with the (6, 0, [IDs]), it still got deleted, here is the log:

odoo.models.unlink: User #2 deleted product.template records with IDs: [46]

Best Answer

Did you find a solution dor this !?

Avatar
Discard
Author

Hi, it's been while regarding my question. I think I've changed the field to many2many relation. But, first try it with self.write({'product_ids'...}) it should be fine like that.

Author Best Answer

Like that ?? self.product_ds = [(6, 0, self.ticket_type_id.product_ids.ids)] 

Avatar
Discard
Best Answer

Hi,

I guess self.product_ids refers to One2Many field.

In such a case, you should use appropriate way to manipulate it.

It should be a syntax like this:

(0, 0,  { values })    link to a new record that needs to be created with the given values dictionary
(1, ID, { values })    update the linked record with id = ID (write *values* on it)
(2, ID)                remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)
(3, ID)                cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself)
(4, ID)                link to existing record with id = ID (adds a relationship)
(5)                    unlink all (like using (3,ID) for all linked records)
(6, 0, [IDs])          replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)


Some references:

https://www.odoo.com/fr_FR/forum/aide-1/question/how-to-insert-value-to-a-one2many-field-in-table-with-create-method-28714
https://www.odoo.com/fr_FR/forum/aide-1/question/how-can-i-insert-data-in-a-one2many-field-145454
https://www.odoo.com/fr_FR/forum/aide-1/question/how-to-replace-previous-references-in-one2many-field-152379

Avatar
Discard
Related Posts Replies Views Activity
1
Nov 24
1608
2
Apr 23
14517
1
Mar 23
1133
4
Aug 24
21105
0
Dec 21
1464