繁体   English   中英

Django - Order_by 一个查询集不止一次

[英]Django - Order_by a queryset more than once

我想在订购一次后重新订购我的查询集。 可能吗?

这是我的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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM