Short snippet: how to add alphabet filter in Django admin.
Suppose we have a model like this
from django.db import models class Animal(models.Model): name = models.CharField(u'name', max_length=255)
and admin file like this
from django.contrib import admin class AlphabetFilter(admin.SimpleListFilter): title = 'alphabet' parameter_name = 'alphabet' def lookups(self, request, model_admin): abc = list(string.ascii_lowercase) return ((c.upper(), c.upper()) for c in abc) def queryset(self, request, queryset): if self.value(): return queryset.filter(name__startswith=self.value()) class AnimalAdmin(admin.ModelAdmin): list_display = ['name',] list_filter = (AlphabetFilter,) admin.site.register(Animal, AnimalAdmin)