blob: 5c26bfb635f7ed1879db5476695849842b32535d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
from django.db.models.signals import post_delete
from django.dispatch import receiver
from pydis_site.apps.api.models.bot import Role, User
@receiver(signal=post_delete, sender=Role)
def delete_role_from_user(sender: Role, instance: Role, **kwargs) -> None:
"""Unassigns the Role (instance) that is being deleted from every user that has it."""
for user in User.objects.filter(roles__contains=[instance.id]):
del user.roles[user.roles.index(instance.id)]
user.save()
|