после обновления формы в django вместо ее обновления создается новый экземпляр формы - PullRequest
1 голос
/ 06 февраля 2020

Мне не удалось исправить код, и он не работает, просто вставив вопрос в базу данных после каждого обновления, означает, что возвращаются несколько объектов. Вот код вида

views.py

#form for creating question
def get_name(request): 
    if request.method=='POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            instance = form.save()
            return HttpResponseRedirect(reverse('poll:index'))
    else:
        form = QuestionForm()
    return render(request,'poll/name.html',{'form':form})

#for updating the form
def update(request,question_id=None): 
    instance=get_object_or_404(Question,pk=question_id)
    if request.method=='POST':
        form = QuestionForm(request.POST,instance=instance)
        if form.is_valid():
            instance=form.save(commit=False)
            instance.save()
            return HttpResponseRedirect(instance.get_absolute_url())
    else:
        form=QuestionForm(instance=instance)
    return render(request,'poll/name.html',{'form':form})

#urls.py

app_name='poll'

urlpatterns=[
                path('',views.index,name='index'),
                path('create/',views.get_name,name='create'),
                path('<int:question_id>/',views.detail,name='detail'),
                path('int:question_id/update',views.update,name='update'),
             ]       

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...