Python 如何在字典中按值对模型排序?
在Django中,我有一个模型,我将有一个字典,其中对象的id作为键,权重作为值。我希望通过以下方式使用这些权重:Python 如何在字典中按值对模型排序?,python,django,sorting,sql-order-by,Python,Django,Sorting,Sql Order By,在Django中,我有一个模型,我将有一个字典,其中对象的id作为键,权重作为值。我希望通过以下方式使用这些权重: MyModel.objects.filter(title__icontains=query).order_by( 'value_from_the_dictionary' ) 如何做到这一点 我无法将权重放入模型中,因为在此视图的每次调用中权重都会不同,而且我不想将它们保存在任何地方,它们将在URL的每次查询中计算。按排序是由数据库完成的,因此如果这些元素不在数据库中,则不能按它们
MyModel.objects.filter(title__icontains=query).order_by( 'value_from_the_dictionary' )
如何做到这一点
我无法将权重放入模型中,因为在此视图的每次调用中权重都会不同,而且我不想将它们保存在任何地方,它们将在URL的每次查询中计算。按
排序是由数据库完成的,因此如果这些元素不在数据库中,则不能按它们排序。您必须获得queryset,然后用Python进行排序
qs = MyModel.objects.filter(title__icontains=query)
qs.sort(key=lambda x: mydict[x])
按
排序是由数据库完成的,因此如果这些元素不在数据库中,就不能按它们排序。您必须获得queryset,然后用Python进行排序
qs = MyModel.objects.filter(title__icontains=query)
qs.sort(key=lambda x: mydict[x])