Django polls tutorial part 3, шаблон способен загрузить текст модели Question, но не связанный с моделью Choice

В настоящее время я нахожусь на третьей части официального учебника по опросам Django. У меня возникла проблема, когда я загружаю шаблон detail.html, question_text из модели Question отображается нормально, а choice_text(ы) - нет. Браузер показывает правильное количество буллетов списка, но текста нет.

Вот шаблон, который я пытаюсь загрузить:

<h1>{{ question.question_text }}</h1>

<ul>
    {% for question in question.choice_set.all %}
        <li> {{choice.choice_text}} </li>
    {% endfor %}
</ul>

Связанная функция просмотра:

def detail(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    return render(request, "polls/detail.html", {'question': question})

Модели определяются следующим образом:

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField("date published")

    def __str__(self):
        return self.question_text

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

    def __str__(self):
        return self.choice_text

polls/1 модель Question с двумя Choices, связанными с ней, отображается как

текст из модели Questions отображается правильно, а элементы из модели Choice - нет


Я ожидал, что связанные объекты Choice, полученные из {% for question in question.choice_set.all %}, будут отображаться на HTML-странице в виде элементов списка. Вместо этого отображаются только пули без текста.

Буду очень признателен за любую помощь!

Вы допустили опечатку, нужно присвоить переменной choice:

<!--     🖟 choice -->
{% for choice in question.choice_set.all %}
    <li>{{ choice.choice_text }}</li>
{% endfor %}
Вернуться на верх