Estender o Django User é um pouco chato no momento. Claro que você tem a opção de perfil, mas eu só precisava ter um método para desativar um usuário definindo seu campo “is_active” como False e gravando algumas coisas com isso.
Claro que poderia ter sido em uma visualização, mas o desafio de substituir a classe User era bom demais para ser aprovado, então vamos lá:
from django.contrib.auth.models import User
class UserFunctions:
def deactivate(self):
self.is_active = False
...
User.__bases__ += (UserFunctions,)
E bum! Agora você pode simplesmente usar o método como um chefe.