如何在Django 1.5中实现get_search_results函数

时间:2014-02-18 07:04:53

标签: python django

ModelAdmin.get_search_results(request,queryset,search_term) Django 1.6中的新功能。

https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_search_results

由于某些原因,与django 1.5兼容

如何在django 1.5

中执行此操作
class PersonAdmin(admin.ModelAdmin):
    list_display = ('name', 'age')
    search_fields = ('name',)

    def get_search_results(self, request, queryset, search_term):
        # search_term is what you input in admin site, queryset is search results
        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