from django.contrib.auth.models import User from .models import AdminRegistration, Registration def set_username(instance, **_): instance.username = instance.email def send_email_link(instance, **_): if instance.pk: old_instance = User.objects.get(pk=instance.pk) if old_instance.email != instance.email: registration = Registration.objects.get(user=instance) registration.email_confirmed = False registration.save() registration.user = instance registration.send_email_validation_link() def create_admin_registration(instance, **_): if instance.is_superuser: AdminRegistration.objects.get_or_create(user=instance)