Django - 根据用户选择对现有搜索结果进行排序

Django - order existing search results according to user choices

我正在创建一个允许最终用户搜索条目的 Django (1.8) Web 应用程序。我设法让用户根据他们的输入获得搜索结果。

不过,我也希望用户能够在返回结果后,根据用户选择的一些选项(例如按距离排序、按等级排序、按价格排序)对搜索结果进行排序。我在实施时遇到了麻烦,因为我无法弄清楚这背后的逻辑。

有人可以告诉我如何实现这样的功能吗?非常感谢!

最简单的方法是 .order_by('fieldname')。 在您的模板中,您可以链接到添加 GET 参数的同一页面。在您的视图中检查这些参数并决定如何对结果进行排序。 有点像这样

Model.objects.filter(field='value').order_by('sort-criteria')