Skip to Content
Menú
This question has been flagged
1 Respondre
2322 Vistes

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
Descartar
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
Descartar
Autor

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

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

Related Posts Respostes Vistes Activitat
3
d’ag. 24
1711
1
de set. 21
21183
3
de juny 18
15122
1
de març 15
5328