﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
23123	Misleading Code in Admin Example	wkschwartz@…	Baptiste Mispelon <bmispelon@…>	"In https://docs.djangoproject.com/en/1.7/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_search_results there is a code example:


{{{#!python
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
}}}

This code catches a `SystemExit` when all it meant to do was deal with the case when `search_term` is not an integer. See https://docs.python.org/2/howto/doanddont.html#except

Better would be:

{{{#!python
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)
    except ValueError:
        pass
    queryset |= self.model.objects.filter(age=search_term_as_int)
    return queryset, use_distinct
}}}
"	Cleanup/optimization	closed	Documentation	1.7-rc-2	Normal	fixed			Accepted	1	0	0	0	1	0
