Использование операторов HTML if для возврата результатов

Я пытаюсь вывести список курсов, которые пользователь загрузил в свой аккаунт, но не могу понять, как это сделать. Я пытался вывести {{курс.студент_курс }} и {{имя пользователя}}, и оба они выводят одно и то же. Но когда я выполняю сравнение в операторе if, ничего не возвращается.

Вот html-фрагмент

<div class="container h-100">
                    <div class="row justify-content-center">
                        {% if courses_list %}
                            {% for course in courses_list %}
                                {% if course.student_course == user.username %}
                                    <button type="button" class="btn btn-outline-primary">{{ subject }} </button>
                                    <p>{{ subject }}</p>
                                {% endif %}
                            {% endfor %} 
                        {% else %} 
                        <p>No courses have been uploaded.</p>
                        {% endif %} 

                    </div>
            </div>

А вот поля моей модели, к которым я пытаюсь получить доступ.

class Course(models.Model):
    subject = models.CharField(max_length=4)
    course_number = models.CharField(max_length=4, default='')
    course_name = models.CharField(max_length=100, default='')
    course_section = models.CharField(max_length=3, default='')
    student_course = models.OneToOneField(User, on_delete=models.CASCADE, default='')

    def __str__(self):
        return self.subject + " " + self.course_number

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

course.student_course является экземпляром User

user.username - строка имени пользователя экземпляра User

Поэтому вы хотите использовать {% if course.student_course == user %} или {% if course.student_course.username == user.username %}

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