Проблема при удалении поля ImageField из базы данных

models.py:

Picture = models.ImageField('Picture', null=True, blank=True)

Когда я даю команду

person.Picture.delete()

картинка удалена из каталога, но в базе данных все еще есть запись о пути к файлу в Picture, как показано на рисунке ниже. Как я могу ее удалить?

enter image description here

Попробуйте это person.Picture.delete(save=False)

https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.fields.files.FieldFile.delete

Вам нужно попробовать

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.

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