Я создаю страницу профиля пользователя в Django и хочу дать пользователям возможность удалить ранее загруженный аватар и заменить его на профиль по умолчанию. Что я сделал, так это то, что после нажатия кнопки удаления изображение на AWS S3 удаляется, но я не знаю, как обновить user.image
в базе данных. Если бы это был тип string или int, проблем не было бы. Но вопрос в том, как мне получить изображение из AWS, преобразовать его в любой тип объекта и обновить базу данных?
models.py:
class Patient(models.Model):
image = models.ImageField(default='default.jpg', upload_to=get_file_path)
Я также реализовал возможностьобновить старое изображение новым, поэтому я создал UpdateForm для этого. На странице с этой формой также есть кнопка, которая вызывает delete_image
из views.py
forms.py
class PatientUpdateForm(forms.ModelForm):
image = forms.ImageField(required=False)
class Meta:
model = Patient
fields = ['image']
views.py
@login_required
def delete_image(request):
old_image_name = request.user.patient.image.name
# refers to the specific user
# don't know what's next
Patient.objects.filter(pk=request.user.patient.pk).update(??)
storage.delete(old_image_name)
return redirect('profile')