Union de QuerySets

Fuentes


Obtener las consultas.

c1 = MyModel1.objects.all()
c2 = MyModel2.objects.all()
c3 = MyModel3.objects.all()

Unirlos con chain:

from itertools import chain

result_list = list(chain(c1, c2, c3))

# Si se quiere ordenar por algun campo.
result_list = sorted(
    chain(c1, c1, c3),
    key=attrgetter('create_at')
)

Con el operados de union | (siguiendo con c1, c2 y c3)

result_list c1 | c2 | c3

El «problema» es que han ser del mismo modelo.

En el comentario también habla de QuerySetChain en