from django.dispatch import receiver
from django.db.models.signals import pre_save
from django.contrib.auth.models import User


@receiver(pre_save, sender=User, dispatch_uid='set_unusable_password')
def set_unusable_password(sender, instance, **kwargs):
    if not instance.password:
        instance.set_unusable_password()