python 如何基于两个字段对来自不同模型的查询集进行排序?

h5qlskok  于 2023-02-02  发布在  Python
关注(0)|答案(2)|浏览(144)

我有来自不同模型的查询集,它们只有两个共同的字段:datetimedt_created,我想先在datetime上排序对象,然后在dt_created上排序对象,以便具有相同datetime的对象基于字段dt_created排序。
我该怎么做呢?
到目前为止,我可以使用datetime对查询集进行组合和排序,如下所示:

lst_qs = list(qs_trades) + list(qs_deposits) + list(qs_withdrawals)
sorted_lst = sorted(lst_qs, key=lambda x: x.datetime)
kxe2p93d

kxe2p93d1#

您可以使用类 meta:

class Example(models.Model):
...
    class Meta:
        ordering = ['datetime', 'dt_created']
xqkwcwgp

xqkwcwgp2#

这是你想要的吗?

lst_qs = list(qs_trades) + list(qs_deposits) + list(qs_withdrawals)
sorted_lst = sorted(lst_qs, key=lambda x: (x.dt_created, x.datetime))

相关问题