簡體   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