NO, no, no no. No hagas eso. Parece PHP.
¿Como que el login de django no te da suficiente con los campos?
No se me hace muy util tener a los administradores en otra tabla, tendrías que checar siempre si existe en las dos u ofrecer un sistema de sesiones totalmente separado del otro.
Si te todas formas quieres hacer eso escribe un Backend de autenticación y no algo tan feo.
Y de tu código especifico, si checas la
documentación hay que usar el método check_password, recuerda que no se guardan los passwords en texto plano nunca.
Y Si vas a mandar una excepción de un método no permitido usa
HTTPResponseNotAllowed un 404 es para documentos no econtrados.
Saludos