Проблема при удалении поля ImageField из базы данных
models.py:
Picture = models.ImageField('Picture', null=True, blank=True)
Когда я даю команду
person.Picture.delete()
картинка удалена из каталога, но в базе данных все еще есть запись о пути к файлу в Picture, как показано на рисунке ниже. Как я могу ее удалить?
Попробуйте это person.Picture.delete(save=False)
Вам нужно попробовать
person = Person.objects.get(User=User_)
person.Picture.delete(save=False)
...
person.save()
Попробуйте задать путь в вашей модели примерно так
Picture = models.ImageField(upload_to='Picture', null=True, blank=True)
Установите поле на None
также, так:
person.Picture.delete()
person.Picture = None
person.save()
Примечание: обычно имена полей в модели Django записываются в snake_case, а не PascalCase, поэтому должно быть:
picture
вместо.Picture