Django - Ответ, соответствующий запросу, не существует

Я работаю над конструктором форм, похожим на Google Forms, но столкнулся с ошибкой при создании функции 'Edit response'.

Ошибка гласила, что "Запрос, соответствующий ответу, не существует"

Вот мой HTML код для страницы редактирования ответа:

28          {% endif %}
29          {% for question in form.questions.all %}
30          <div class="margin-top-bottom box question-box">
31              {% if form.is_quiz %}
32              <h1 class="question-title txtClr">{{question.question}} {% if question.required %}<span class="require-star">*</span>{% endif %}</h1>
33              {% else %}
34              <h1 class="question-title txtClr" oncopy = "return false">{{question.question}} {% if question.required %}<span class="require-star">*</span>{% endif %}</h1>
35              {% endif %}
36              {% if question.question_type == "short" %}
37                  <input type="text" name="{{question.id}}" class="short-answer" placeholder="Your answer" {% if question.required %} required {% endif %}
38                  value="{{response|get_response:question.pk}}">
39              {% elif question.question_type == "paragraph" %}
40                  <textarea name="{{question.id}}" placeholder="Your answer" class="long-answer textarea-adjust" 
41                  {% if question.required %} required {% endif %}>{{response|get_response:question.pk}}</textarea>
42              {% elif question.question_type == "multiple choice" %}
43                  {% for choice in question.choices.all %}
44                  <div class="multiple-choice">
45                      {% if response|get_response:question.pk|to_int == choice.pk|to_int %}
46                      <input type="radio" name="{{question.id}}" id="{{choice.id}}" {% if question.required %} required {% endif %} value="{{choice.id}}" checked>
47                      {% else %}
48                      <input type="radio" name="{{question.id}}" id="{{choice.id}}" {% if question.required %} required {% endif %} value="{{choice.id}}">

Похоже, что ошибка возникает в строке 38, и эта строка "{{response|get_response:question.pk}}" была выделена красным цветом.

views.py:

def edit_response(request, code, response_code):
    formInfo = Form.objects.filter(code = code)
    #Checking if form exists
    if formInfo.count() == 0:
        return HttpResponseRedirect(reverse('404'))
    else: formInfo = formInfo[0]
    response = Responses.objects.filter(response_code = response_code, response_to = formInfo)
    if response.count() == 0:
        return HttpResponseRedirect(reverse('404'))
    else: response = response[0]
    if formInfo.authenticated_responder:
        if not request.user.is_authenticated:
            return HttpResponseRedirect(reverse("login"))
        if response.responder != request.user:
            return HttpResponseRedirect(reverse('403'))
    if request.method == "POST":
        if formInfo.authenticated_responder and not response.responder:
            response.responder = request.user
            response.save()
        if formInfo.collect_email:
            response.responder_email = request.POST["email-address"]
            response.save()
        #Deleting all existing answers
        for i in response.response.all():
            i.delete()
        for i in request.POST:
            #Excluding csrf token and email address
            if i == "csrfmiddlewaretoken" or i == "email-address":
                continue
            question = formInfo.questions.get(id = i)
            for j in request.POST.getlist(i):
                answer = Answer(answer=j, answer_to = question)
                answer.save()
                response.response.add(answer)
                response.save()
        if formInfo.is_quiz:
            return HttpResponseRedirect(reverse("response", args = [formInfo.code, response.response_code]))
        else:
            return render(request, "index/form_response.html", {
                "form": formInfo,
                "code": response.response_code
            })
    return render(request, "index/edit_response.html", {
        "form": formInfo,
        "response": response
    })

urls.py

path('form/<str:code>/response/<str:response_code>', views.response, name="response"),
path('form/<str:code>/response/<str:response_code>/edit', views.edit_response, name="edit_response"),

Есть ли у кого-нибудь решение этой проблемы? Спасибо

Вернуться на верх