Django Вопрос, соответствующий запросу, не существует
У меня есть две модели для вопросов и ответов, каждый вопрос имеет несколько ответов от аутентифицированных пользователей, теперь я хочу, чтобы пользователь мог удалить определенный ответ, который связан с ним, мой вопрос имеет slug, а также для ответов у меня есть поле id, я хочу удалить этот ответ в соответствии с id, я создал простой код и я думаю, что это не правильно, когда я нажимаю на кнопку удаления ответа, я получаю эту ошибку. ( raise self.model.DoesNotExist( questions.models.Question.DoesNotExist: Вопрос, соответствующий запросу, не существует.)
models.py
from django.db import models
from django.conf import settings
class Question(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length = 250)
body = models.TextField()
slug = models.SlugField(max_length = 250, unique=True)
author = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name="questions")
def __str__(self):
return self.title
class Answer(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
description = models.TextField()
question = models.ForeignKey(Question,
on_delete=models.CASCADE,
related_name="answers")
author = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
def __str__(self):
return self.author.username
Этот код предназначен для перечисления всех ответов, связанных с вопросом, и здесь внизу у меня есть кнопка для удаления конкретного ответа.
<div class="container">
{% for answers in answer_list%}
<div class="card mt-4 py-3 shadow">
<div class="card-body">
<p class="card-text">{{answers.description}}</p>
<div class="row">
<div class="col col-md-auto">
Answered By: {{answers.author.username}}
</div>
<div class="col col-md-auto">
Answered: {{answers.created_at |naturalday}}
</div>
</div>
{% if request.user == answers.author %}
#delete answer
<a class="btn btn-outline-danger btn-sm mt-3" href="{% url 'delete_answer' answers.id %}">Delete</a>
<a class="btn btn-outline-success btn-sm mt-3" href="">Update</a>
{% endif %}
</div>
</div>
{% endfor %}
Это delete_answer.
def delete_answer(request,id):
answer = Answer.objects.get(id=id)
answer.delete()
return redirect('questlist')
Это urls.py
path('delete/<int:id>/',delete_answer, name = 'delete_answer'),