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

Hello, so i have a relationship between 2 models that like so


class ModelA:

         _name = "model.a"


​first_field = fields.One2many(

​comodel_name="model.b",

​inverse_name="second_field",

​ondelete="cascade"

​)


class ModelB:

​_name = "model.b"


​second_field = fields.Many2one(

​comodel_name="model.a",

​ondelete="cascade"

​)


After i delete a row from model A, linked  data in model B will also be deleted. However, if i delete a row in model B, the data is still showing in model A.


It only works on the One2many class. Is that the right behavior?

Avatar
Discard
Best Answer

This is a right behavior, the ondelete parameter only used on Many2one and you set it to cascade so the Model A is the parent and has many Childs from Model B so if you deleted the parent all Childs will be deleted but deleting the child will not delete the parent.

Avatar
Discard
Author

Then how can i delete the parent when deleting the child?

You can't delete the parent if you deleted the child.

Related Posts Replies Views Activity
3
Aug 24
1657
1
Sep 21
21135
3
Jun 18
15106
1
Mar 15
5313