【问题标题】:sort two joined querysets - django对两个连接的查询集进行排序 - django
【发布时间】:2014-04-12 18:08:39
【问题描述】:

我有两个查询集的连接:

fqs= FirstModel.objects.all()
sqs= SecondModel.objects.all()
sorted_qs = sorted(chain(fqs, sqs)) #<- need to sort here by "added" field. 

两个模型都有这个added 字段。

added = models.DateTimeField(auto_add_now=true)

但是sorted_qs 每次都给我不同的顺序。我想,chain 每次都会随机加入它们..

我需要按某个字段名排序。我该怎么做呢?

【问题讨论】:

    标签: python django


    【解决方案1】:

    sorted需要知道key:

    sorted_qs = sorted(chain(fqs, sqs), key=lambda obj: obj.added)
    

    请看这里: Using sorted() in Python

    【讨论】:

    • 然后添加 reverse=True
    • @doniyor 或者直接使用lambda obj: -obj.added
    猜你喜欢
    • 2011-07-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 2017-10-06
    • 1970-01-01
    • 2021-02-11
    相关资源
    最近更新 更多