我可以使用 ?q='search term' 进行搜索。但我的要求是,在搜索到的术语中,我应该能够按价格等对它们进行排序。按另一个字段等过滤。
如有必要,将提供更多信息。
我可以使用 ?q='search term' 进行搜索。但我的要求是,在搜索到的术语中,我应该能够按价格等对它们进行排序。按另一个字段等过滤。
如有必要,将提供更多信息。
您应该研究分面,它使您能够搜索模型的其他字段。基本上,它归结为定义构面,然后使用户能够搜索它们,以及您现在使用关键字进行的文本搜索。
假设您使用的是 SearchView,请覆盖 get_results 方法以在 SearchQuerySet 上执行您需要的额外处理,例如:
Class MySearchView(SearchView)
#...
def get_results(self):
results = super(MySearchView, self).get_results()
order = self.request.GET.get('order')
if order:
results = results.order_by(order)
return results