Simplemente quiero combinar dos conjuntos de consultas de diferentes modelos en un conjunto de consultas (¡y no una lista como se muestra en otras preguntas de stackoverflow!). Por ejemplo, aquí hay dos conjuntos de consultas:
a = Modelone.objects.all() b = Modeltwo.objects.filter(number__gte=4) Luego, quiero un conjunto de consultas c que combine a y b . Gracias, y por favor déjeme cualquier pregunta que tenga.
Usted no puede hacer eso. Imagina lo siguiente:
class Modelone(models.model): number = models.IntegerField() class Modeltwo(models.model): text = models.TextField()Imagine que filtraría contra su conjunto de consultas unido, ¿cómo puede funcionar eso si las filas (o instancias) no tienen los mismos campos?
Si desea unir dos conjuntos de consultas del mismo modelo, puede hacerlo:
qs1 = modelone.objects.filter(nummber=10) qs2 = modelone.objects.filter(nummber=20) joined = qs1 | qs2Si sus dos modelos son similares y tienen campos superpuestos, podría usar algo como django-polymorphic