This has been asked a ton of times on here. You can use chain
from itertools import chain
combined = chain(qs1, qs2, ...)
for item in combined:
# foo
One alternative to completely separate queryset objects, is to see if you can do it with "OR" queries using the Q objects:
https://docs.djangoproject.com/en/1.4/topics/db/queries/#complex-lookups-with-q-objects
Example from the docs
Poll.objects.get(
Q(question__startswith='Who'),
Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6))
)
This example says "objects that have a question starting with 'Who', AND, objects with either this pub date OR that pub date"