ModelAdmin.formfield_for_choice_field(db_field, request, **kwargs)
Like the formfield_for_foreignkey and formfield_for_manytomany methods, the formfield_for_choice_field method can be overridden to change the default formfield for a field that has declared choices. For example, if the choices available to a superuser should be different than those available to regular staff, you could proceed as follows:
class MyModelAdmin(admin.ModelAdmin):
def formfield_for_choice_field(self, db_field,