Post_delete получает другой путь, чем pre_save

У меня есть функция pre_save, которая удаляет изображение после удаления пользователя, но она не работает, если я не изменю ее на post_delete:

@receiver(pre_save, sender=User)
def delete_file(sender, instance, *args, **kwargs):
    """ Deletes image files on `post_delete` """
    if instance.image:
        path = instance.image.path
        if os.path.isfile(path):
            os.remove(path)

Когда я меняю pre_save на post_delete, он получает правильный путь, а именно /media/images/image.png, но в pre_save он получает /media/image.png, что неверно.

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