tengo esta estructura de los objetos del modelo:Filtro de muchos a muchos relación en Django
Clase A:b = models.ManyToManyField("B")
Clase B:
c = models.ForeignKey("C")
d = models.ForeignKey("D")
Clase C:
d = models.ForeignKey("D")
Esta es la consulta Estoy tratando de obtener:
Quiero obtener todos los objetos B del objeto A, luego en cada objeto B para realizar una comparación entre el objeto D y el objeto cd .
Sé que simplemente avance en la colección B con for loop y haga esta comparación. Pero se sumergió en la relación ManyToMany, entonces me di cuenta de que puedo hacer lo siguiente:
bObjects = A.objects.all().b
q = bObjects.filter(c__d=None)
Esto está trabajando, me da todos los objetos c con el campo None
d. Pero cuando intento el siguiente:
q = bObjects.filter(c__d=d)
Me da d no definido, pero d es un objeto como C en el objeto B.
Cuál puede ser el problema? Seré feliz si sugieres una forma más de hacer esta tarea. Por lo general, intento escribir mi consulta en una sola operación con muchos a muchos subobjetos y sin utilizar loops.
todo esto es confuso abc podría no elegir mejores nombres: D? – maazza