How to combine two or more QuerySets from different models and order objects chronologically?

Question:

I have two querysets I need to combine and iterate through the objects chronologically, based on a datetime field which is common to both models. What is the best way to do that ?

I’m able to combine querysets with union but objects are not sorted properly.

model_combination = model_set1.union(model_set2, all=True)
Asked By: Florent

||

Answers:

According to the documentation, order_by is supported by union. Try like this:

model_combination = model_set1.union(model_set2, all=True).order_by('datetime_field')
Answered By: ruddra
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.