Комментарии правильно назначены для объектов ответа, но отображаются в одном объекте ответа.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Комментарии правильно назначены для объектов ответа, но отображаются в одном объекте ответа.

Сообщение Anonymous »

Я создаю платформу вопросов и ответов, которая поможет компаниям понять потребности своих клиентов. Как вы можете видеть в представлениях view_question, я показываю ответ на основе вопроса, и он работает отлично. Однако при отображении комментариев к ответу с помощью этого метода:
answers = Answer.objects.filter(post=question)
answers_comment = CommentA.objects.filter(post=answers)

Этот метод возвращает ошибку в шаблоне: значение QuerySet для точного поиска должно быть ограничено одним результатом с использованием срезов. затем я пытаюсь отобразить его с помощью этого метода :
answers = Answer.objects.filter(post=question)
answers_comment = CommentA.objects.filter(post__id__in=answers)

Вроде бы проблема решена, но это не так. Answers_comment отображает все объекты комментариев к одному объекту ответа, даже если они не были назначены этому ответу.
{% for answer in answers %}




{{ answer_comment.user.username }}


{{ answer_comment.created_at|naturaltime }}

{% endwith %}

{% endfor %}

def view_question(request, slug):
question = get_object_or_404(Question, slug=slug)
answers = Answer.objects.filter(post=question)
answers_comment = CommentA.objects.filter(post__id__in=answers)
context = {"question":question, "answers":answers, "answers_comment":answers_comment}
return render(request, 'view_question.html', context)

модели:
class Question(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=225)
body = models.TextField()

class Answer(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
your_answer = models.TextField()
post = models.ForeignKey(Question, on_delete=models.CASCADE)

class CommentA(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
comment = models.TextField()
post = models.ForeignKey(Answer, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)


Подробнее здесь: https://stackoverflow.com/questions/784 ... er-objects
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»