2024-05-07 22:29:44 发布
网友
在Django中,我有一个模型,我将有一个字典,其中这个模型中对象的id作为键,权重作为值。我想按以下顺序使用这些重量:
MyModel.objects.filter(title__icontains=query).order_by( 'value_from_the_dictionary' )
如何让这个工作?在
我不能把权重放在模型中,因为它们在这个视图的每次调用中都是不同的,我不想把它们保存在任何地方,它们将在URL的每个查询上计算。在
在order_by中排序是由数据库完成的,因此如果这些元素不在数据库中,则不能按它们排序。您必须获得queryset,然后用Python进行排序。在
order_by
qs = MyModel.objects.filter(title__icontains=query) qs.sort(key=lambda x: mydict[x])
在
order_by
中排序是由数据库完成的,因此如果这些元素不在数据库中,则不能按它们排序。您必须获得queryset,然后用Python进行排序。在相关问题 更多 >
编程相关推荐