簡體   English   中英

如何按字典中的值對模型排序?

[英]How to sort model by values in a dictionary?

在Django中,我有一個模型,我將有一個字典,其中以該模型中對象的id為鍵,以權重為值。 我想在order_by中使用這些權重:

MyModel.objects.filter(title__icontains=query).order_by( 'value_from_the_dictionary' )

如何使這項工作?

我無法將權重放入模型中,因為權重在此視圖的每次調用中都會有所不同,並且我不想將其保存在任何位置,它們將根據URL的每次查詢進行計算。

order_by排序是由數據庫完成的,因此,如果這些元素不在數據庫中,則無法對其進行排序。 您將必須獲取queryset,然后在Python中進行排序。

qs = MyModel.objects.filter(title__icontains=query)
qs.sort(key=lambda x: mydict[x])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM