¿Cómo evito la escalada de permisos en el administrador de Django al otorgar el permiso de "cambio de usuario"?

Tengo un sitio de django con una gran base de clientes. Me gustaría dar a nuestro departamento de servicio al cliente la capacidad de alterar las cuentas de usuario normales, haciendo cosas como cambiar contraseñas, direcciones de correo electrónico, etc. Sin embargo, si le doy a alguien el servicio incorporadoauth | user | Can change user permiso, obtienen la capacidad de establecer elis_superuser marca en cualquier cuenta, incluida la suya. (!!!)

¿Cuál es la mejor manera de eliminar esta opción para el personal que no es superusuario? Estoy seguro de que implica subclasesdjango.contrib.auth.forms.UserChangeForm y enganchándolo a mi ya personalizadoUserAdmin objeto ... de alguna manera. Pero no puedo encontrar ninguna documentación sobre cómo hacer esto, y todavía no entiendo lo interno lo suficientemente bien.

Respuestas a la pregunta(5)

Su respuesta a la pregunta