Как отсортировать наборы запросов из разных моделей на основе двух полей?

У меня есть наборы запросов из разных моделей, которые имеют только два общих поля: datetime и dt_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)

Вы можете использовать класс Meta:

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

Вы этого хотели?

lst_qs = list(qs_trades) + list(qs_deposits) + list(qs_withdrawals)
sorted_lst = sorted(lst_qs, key=lambda x: (x.dt_created, x.datetime))
Вернуться на верх