[英]How can I tell the Django ORM to reverse the order of query results?
在我尋求了解針對 Django 模型的查詢時,我一直在嘗試使用如下查詢獲取最后 3 個添加的有效 Avatar 模型:
newUserAv = Avatar.objects.filter(valid=True).order_by("date")[:3]
但是,這反而給了我按日期排序的前三個頭像。 我確定這很簡單,但我在 Django 文檔中找不到它:如何選擇最后三個頭像對象而不是前三個?
在字段名稱前放置一個連字符。
.order_by('-date')
創建列表和
def messages_to_list(messages):
result = []
for message in messages:
result.append(message_to_list(message))
result.reverse()
return result
def message_to_list(message):
return {
'member': str(message.member),
'message': str(message.message),
'pub_date': str(message.pub_date.strftime(" %B %d,%Y, %A %I:%M%p ")),
'admin': message.admin
}
上面的結果將按 pub_date 降序排列,然后按標題升序排列。
Entry.objects.filter(pub_date__year=2005).order_by('-pub_date', 'headline')
如果我們有一個 Python 序列並查看 seq [-5:],我們將首先看到第五個(最后一個)元素。 Django 不支持這種訪問方式(從尾部切分),因為在 SQL 中無法高效完成。 ((((((((((((((((((((((((((((((
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.