blob: c69704b12ad1b1cd0729003006c11b8e6020a7b2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
from django.db.models.signals import pre_delete
from django.dispatch import receiver
from pydis_site.apps.api.models.bot import Role, User
@receiver(signal=pre_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()
|