У меня есть Wagtail ModelAdmin, в котором есть модель с полем типа wagtailimage.Image
с кодом ниже:
partner_logo = models.ForeignKey(
'wagtailimages.Image',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
Я зарегистрировал этого ModelAdmin, чтобы редактировать его в Wagtail Admin.просмотреть и успешно загрузить изображение в поле partner_logo
.Затем я могу обновить изображение из представления администратора.
Я бы хотел, чтобы пользователи могли обновлять изображение из внешнего интерфейса.Я создал форму, которая берет изображение и передает его бэкэнду.Затем я пытаюсь обновить изображение, используя приведенный ниже код:
def upload_pic(request):
if request.method == 'POST':
partner_name = request.user.partner().partner_name
partner_model = Partner.objects.get(partner_name=partner_name)
partner_model.partner_logo.file = request.FILES['image']
partner_model.partner_logo.save(update_fields=['file'])
return HttpResponse('image upload success')
return HttpResponseNotAllowed('allowed only via POST')
Получается правильная модель, которую мы хотим обновить, задается файл для поля partner_logo
, а затем сохраняется модель.Я полагаю, что я нахожусь на этом пути, поскольку изображение загружается в мой каталог мультимедиа при сохранении, однако, я полагаю, что мне не хватает обновления чего-то другого, потому что это фактически не обновляет модель.
Любой советбыло бы замечательно!Спасибо.