我想在对查询集进行一次排序后重新排序。有可能吗?
这是我的get_queryset
方法:
def get_queryset(self):
id_ordered_logs = BatchLog.objects.filter(batch__user__isnull=False)
.order_by('-batch_id').distinct('batch_id')
return id_ordered_logs
我想按他们的created_at
字段来排序这个列表,这就是我想做的:
def get_queryset(self):
id_ordered_logs = BatchLog.objects.filter(batch__user__isnull=False)
.order_by('-batch_id').distinct('batch_id')
return id_ordered_logs.order_by('-created_at')
我想知道这是否可能。
谢谢和问候。
也许你可以试试这个
id_ordered_logs = BatchLog.objects.filter(batch__user__isnull=False)
.order_by('-batch_id', '-created_at').distinct('batch_id')
通过以下实现修复了它:
def get_queryset(self):
id_ordered_logs = BatchLog.objects.filter(batch__user__isnull=False).order_by('batch_id').distinct('batch_id')
return BatchLog.objects.filter(id__in=id_ordered_logs).order_by('-created_at')