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'))