Ошибка валидации (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
, удаляется ли пользователь?