Ошибка валидации (ValidationError), возникающая при каскадном удалении объекта

У пользователя всегда есть одна приборная панель по умолчанию для каждой компании, с которой он связан. Мы предотвращаем удаление последней приборной панели/приборной панели по умолчанию, используя следующее

@receiver(pre_delete, sender=Dashboard)
def check_if_default(sender, instance, **kwargs):
    if instance.is_default:
        raise ValidationError(
            'Default dashboard for a company can not be deleted.')

Однако с этим кодом пользователи не могут быть удалены, поскольку Django пытается каскадировать это в модель и вызывает ошибку ValidationError. Есть ли способ предотвратить эту проверку или проверить в check_if_default, удаляется ли пользователь?

Вернуться на верх