[英]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.