如何在字典中按值对模型排序?

2024-05-07 22:29:44 发布

您现在位置:Python中文网/ 问答频道 /正文

在Django中,我有一个模型,我将有一个字典,其中这个模型中对象的id作为键,权重作为值。我想按以下顺序使用这些重量:

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

如何让这个工作?在

我不能把权重放在模型中,因为它们在这个视图的每次调用中都是不同的,我不想把它们保存在任何地方,它们将在URL的每个查询上计算。在


Tags: 对象django模型id字典objects顺序title
1条回答
网友
1楼 · 发布于 2024-05-07 22:29:44

order_by中排序是由数据库完成的,因此如果这些元素不在数据库中,则不能按它们排序。您必须获得queryset,然后用Python进行排序。在

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

相关问题 更多 >