signals.py 552 B

1234567891011121314151617
  1. from django.dispatch import receiver
  2. from django.db.models.signals import pre_save, post_save
  3. from django.contrib.auth.models import User
  4. from .models import Profile
  5. @receiver(pre_save, sender=User, dispatch_uid='set_unusable_password')
  6. def set_unusable_password(sender, instance, **kwargs):
  7. if not instance.password:
  8. instance.set_unusable_password()
  9. @receiver(post_save, sender=User, dispatch_uid='create_profile')
  10. def create_profile(sender, instance, created, **kwargs):
  11. if created:
  12. Profile.objects.create(user=instance)