tengo 4 modelos y quiero recuperar una unión entre ellosDjango revertir relación con select_related
ModelA
class ModelA(models.Model):
product = models.ForeignKey(ModelB)
group = models.ForeignKey(Group)
ModelB
class ModelB(models.Model):
title = models.CharField()
ModelC
class ModelC(models.Model):
product = models.ForeignKey(ModelB)
group = models.ForeignKey(ModelD)
ModelD
class ModelD(models.Model):
name = models.CharField()
Ahora quiero que todos mis ModelA objetos se unieron con ModelB, ModelC y ModelD en SQL esto es algo muy fácil de hacer. Simplemente haga combinaciones entre tablas. Con Django ORM estoy atascado porque solo puedo hacer una relación directa.
que esté haciendo esto
ModelA.objects.all().select_related(product)
pero no puedo unirse a ModelC ya he leído this article, pero yo no quiero bucle sobre mi lista grande, hacer una cosa simple! Y quiero golpear la base de datos solo una vez.
Estoy usando la última versión de Django y espero que ya haya una solución para esto, de la que no tengo conocimiento.
Gracias.
Ha intentado algo como esto: 'ModelA.objects.all().select_related ('product', 'product__modelc', 'product__modelc__group') ' ? No publicar esto como respuesta porque no estoy absolutamente seguro de si sería lo que quieres. –
@bildja: 'select_related' does * not * admite recorridos. –