代码之家  ›  专栏  ›  技术社区  ›  Florent

如何组合来自不同模型的两个或多个QuerySet并按时间顺序排列对象?

  •  1
  • Florent  · 技术社区  · 2 年前

    我有两个查询集,需要根据 datetime 字段,这对两个模型都是通用的。最好的方法是什么?

    我能够将查询集与 union 但是对象没有被正确地排序。

    model_combination = model_set1.union(model_set2, all=True)
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   ruddra    2 年前

    根据 the documentation , order_by 得到工会的支持。尝试如下:

    model_combination = model_set1.union(model_set2, all=True).order_by('datetime_field')