Начиная с django 1.6, вы можете настроить поиск, определив метод get_search_results
в своем подклассе ModelAdmin
.
Это хорошо объяснено в документации django .Следующий пример скопирован из этого документа.
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