Django метод сохранения не работает - Почему он создает новый один раз? - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь создать для приложения на Django, вставка данных работает нормально, но когда я хочу обновить их, они не обновляются, а создают новые. Вот мой код

from django.urls import path, include
from . import views

urlpatterns = [
  path('',views.index, name='list'),
  path('update/<str:pk>/', views.update, name='update')

]

просмотров код:

from django.shortcuts import render, redirect
from .models import *
from .forms import *

# Create your views here.
#index function
def index(request):
tasks = Task.objects.all()

form = TaskForm()

if request.method =='POST':
    form = TaskForm(request.POST)
    if form.is_valid():
        form.save()
    return redirect('/')

context ={'tasks': tasks, 'form':form}
return render(request,'index.html', context)


#update function
def update(request,pk):
tasks = Task.objects.get(id=pk)
form = TaskForm(instance=tasks)

if request.method == 'POST':
    form = TaskForm(request.post, instance=tasks)
    if form.is_valid():
        form.save()
        return redirect('/')


context = {'form': form}

return render(request,'update_task.html',context)

update_task. html код

    <body>
    <h3>Update</h3>
        <form method="POST" action="/">
            {% csrf_token %}
            {{ form }}
            <input type="submit" name="submit">
        </form>
    </body>
...