Вы, вероятно, уже нашли ответ, но он может быть полезен кому-то (как и я!), Все еще изучающему это.
Джанго 1,6 + :
Вы можете настроить результаты поиска:
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_search_results
Предыдущие версии Django :
Вам просто нужно использовать свой собственный список изменений для временного изменения формата даты в строке запроса. Обратите внимание, что формат изменяется только временно, поэтому пользователь не увидит никаких изменений в строке запроса.
Пример, приведенный ниже, принимает формат даты в Великобритании, например, «31 декабря 1999 года», но его можно легко изменить, чтобы он принимал любой формат даты (или просто название месяца, например, «июнь» по запросу @nemesisfixx)
В вашей модели администратора настройте класс списка изменений:
class MyModelAdmin(admin.ModelAdmin):
...
def get_changelist(self, request, **kwargs):
"""
Returns the ChangeList class for use on the changelist page.
"""
return MyChangeList
Затем в классе MyChangeList:
class MyChangeList(ChangeList):
def get_query_set(self, request):
# Allow date search with UK format
try:
date_search = datetime.datetime.strptime(self.query, '%d %b %Y').date().strftime('%Y-%m-%d')
except ValueError:
date_search = self.query
with temporary_value(self, 'query', date_search):
qs = super(MyChangeList, self).get_query_set(request)
return qs