Django高级搜索功能

时间:2014-03-29 10:35:45

标签: django django-forms django-views advanced-search

我一直在谷歌搜索几个小时但是没有找到任何东西。我对Django很新,并想知道如何完成以下

我希望在页面上实现搜索以过滤查询返回的记录类似于eBay的操作方式。 (见左下方的链接)

Link to eBay to show desired search functionality

有些人可能会朝着正确的方向前进,或者告诉我需要考虑什么才能实现这样的功能。

1 个答案:

答案 0 :(得分:0)

使用get_search_results(django 1.6中的新内容)

class PersonAdmin(admin.ModelAdmin):
    list_display = ('name', 'age')
    search_fields = ('name',)

    def get_search_results(self, request, queryset, search_term):
        queryset, use_distinct = super(PersonAdmin, self).get_search_results(request, queryset, search_term)
        try:
            search_term_as_int = int(search_term)
            queryset |= self.model.objects.filter(age=search_term_as_int)
        except:
            pass
        return queryset, use_distinct

search_term是您输入的内容,query_set是结果,您需要更改query_set