django-orchestra/orchestra/contrib/lists/signals.py

20 lines
591 B
Python
Raw Normal View History

from django.apps import apps
from django.db.models.signals import pre_delete
from django.dispatch import receiver
from . import settings
from .models import List
DOMAIN_MODEL = apps.get_model(settings.LISTS_DOMAIN_MODEL)
@receiver(pre_delete, sender=DOMAIN_MODEL, dispatch_uid="lists.clean_address_name")
def clean_address_name(sender, **kwargs):
domain = kwargs['instance']
for list in List.objects.filter(address_domain_id=domain.pk):
list.address_name = ''
list.address_domain_id = None
list.save(update_fields=('address_name', 'address_domain_id'))