Обновление ImageField без форм в django - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь обновить поле изображения в модели django из формы html. Обновление идет нормально, за исключением поля изображения. Первоначально я успешно загрузил это изображение в форме django, что означает, что настройки в порядке.

Пожалуйста, скажите мне, что не так в моем коде.

Это мой файл views.py: '' '

def update_product(request, product_id):
    if request.method=="POST"
        model_name=request.POST['model_name']
        image = request.FILES ['image']
        Product.objects.filter(id=product_id).update(model_name=model_name, image=image)
        return redirect ('listing)

' '' Это мой html файл : '' '

<form action={% url update_product product.id %} method ="POST enctype='multipart/form-data'>
{% csrf_token %}
<input type='text' name='model_name'>
<input type='file' name='image'>
<button type='submit'> Update </button>
</form>

1 Ответ

0 голосов
/ 27 апреля 2020

Update() метод не запускается save().

Сделайте что-то вроде этого:

def update_product(request, product_id):
    if request.method == "POST":
        product = get_object_or_404(Product, id=product_id)
        product.model_name = request.POST['model_name']
        product.image = request.FILES['image']
        product.save()
        return redirect('listing')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...