signals.py 750 B

123456789101112131415161718192021
  1. from django.dispatch import receiver
  2. from django.db.models.signals import post_save, post_delete
  3. from .models import User, Corporation, Adhesion
  4. @receiver(post_save, sender=User, dispatch_uid='create_user_adhesion')
  5. def create_user_adhesion(sender, instance, created, **kwargs):
  6. if created:
  7. Adhesion.objects.create(user=instance)
  8. @receiver(post_save, sender=Corporation, dispatch_uid='create_corporation_adhesion')
  9. def create_corporation_adhesion(sender, instance, created, **kwargs):
  10. if created:
  11. Adhesion.objects.create(corporation=instance)
  12. @receiver(post_delete, sender=Adhesion, dispatch_uid='delete_adhesion_membership')
  13. def delete_adhesion_membership(sender, instance, **kwargs):
  14. instance.membership.delete()