Значение QuerySet для точного поиска должно быть ограничено одним результатом с использованием срезов - Django 2.1 и Python 3 - PullRequest
0 голосов
/ 01 февраля 2019

Я метод form_valid, чтобы сохранить правильный вопрос в форме ответа.Я использую get_object_or_404, чтобы вставить вопрос в форму.Тем не менее, я продолжаю получать несколько ошибок, касающихся возвращаемых нескольких значений или не ограничивая результаты точным значением.

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

models.py

class Answer(models.Model):
    answer = models.TextField(default = '')
    question = models.ForeignKey(Question,
                                    on_delete = models.CASCADE,
                                    related_name = 'answers')
    answerer = models.ForeignKey(Profile,
                                    on_delete = models.CASCADE,
                                    related_name = 'profile_answers')
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    class Meta:
        verbose_name = 'Answer'
        verbose_name_plural = 'Answers'

    def __str__(self):
        return self.answer

views.py

class CreateAnswer(CreateView):
    model = Answer
    fields = ['answer']

    def form_valid(self, form):
        answer = form.save(commit=False)
        profile = Profile.objects.get(user=self.request.user)
        institution = Institution.objects.all()
        question = Question.objects.filter(institution=institution)
        answer.question = get_object_or_404(Answer, question=question)
        answer.answerer = profile
        return super().form_valid(form)
...