Django как подставить в форме в поле файла значение из базы
Мне надо на странице вывести из базы данные и картинку в форму. Потом на этой же странице внести изменения в данные и отправить всё назад в базу. Вот как выглядит view:
def demo_confirmation(request, serial):
if request.method == 'POST':
form = DemoRegisterForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('demo_confirmation_list')
else:
purchase = DemoPurchase.objects.filter(serial=serial).first()
form = DemoRegisterForm(request.POST, request.FILES)
context = {
'form': form,
'purchase': purchase,
}
return render(request, 'demo_confirmation.html', context)
else:
purchase = DemoPurchase.objects.filter(serial=serial).first()
form = DemoRegisterForm(instance=purchase)
context = {
'form': form,
'purchase': purchase,
}
return render(request, 'demo_confirmation.html', context)
При создании страницы я получаю в поле ввода файла такую аннотацию: https://skr.sh/sF9PUoKCIMa И поле ввода оказывается пусто. Соответственно, когда я вношу изменения в данные, отправить их не получается т.к. надо заполнить поле ImageInput. Подскажите, как подставить значение из базы а поле ImageInput.
Методом проб и ошибок нашёл решение. Сначала берём значение формы и переводим в True\False
confirmation = request.POST.get('confirmation')
if confirmation == 'on':
confirmation = True
else:
confirmation = False
Далее кладём его объект и сохраняем
purchase.confirmation = confirmation
purchase.save(update_fields=['confirmation'])
Вот вроде ничего сложного, но прямого ответа в интернете не нашёл. Как буд-то я первый на этом споткнулся...