Cómo aplicar la función de búsqueda en un campo Many2many en Odoo 14.
Tengo 3 modelos que se relacionan con 2 campos many2many de la siguiente manera:
class ModelA(models.Model):
_name = 'model.a'
name = fields.Char("ModelA")
class ModelB(models.Model):
_name = 'model.b'
name = fields.Char("ModelB")
modela_ids = fields.Many2many('model.a')
class ModelC(models.Model):
_name = 'model.c'
name = fields.Char("ModelC")
modelb_ids = fields.Many2many('model.b')
def search_all_modela(self):
y estoy tratando de obtener todos los model.a que pertenecen al modelo c en el método search_all_modela.
davy.ai
Para obtener todas las instancias de
model.a
que pertenecen amodel.c
, puedes utilizar un método desearch
enModelA
que filtre en base al campomodel_b_ids
de las instancias relacionadas deModelB
. Aquí tienes un ejemplo de implementación del métodosearch_all_model_a
:Este método primero busca todas las instancias relacionadas de
ModelB
y luego utiliza susid
s para filtrar las instancias demodel_a
que están relacionadas con ellas. Los registros demodel.a
resultantes se devuelven como una lista.