# ----- helpers/admin.py -----
from django.contrib import admin
from django.contrib.auth.models import User
class SortedActiveUserModelAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None):
form = super(SortedActiveUserModelAdmin, self).get_form(request, obj)
for fieldname, field in form.base_fields.items():
if hasattr(field.widget, 'rel') and field.widget.rel.to == User:
field.queryset = field.queryset.filter(is_active=True).order_by('username')
return form
# ----- myapp/admin.py -----
from django.contrib import admin
from helpers.admin import SortedActiveUserModelAdmin
from myapp.models import MyModel
class MyModelAdmin(SortedActiveUserModelAdmin):
pass
admin.site.register(MyModel, MyModelAdmin)
Comments