Как показать, что урок выполнен по родственной модели?

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

У меня есть 2 модели: уроки и donelessons, связанные с пользователем, и уроки с foreignkey.

модели

class Lessons(models.Model):
theory = models.TextField(blank=True)
words = models.TextField(blank=True)
question1 = models.CharField(max_length=255)
answer1 = models.CharField(max_length=255)

class DoneLessonsModel(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
lessons = models.ForeignKey(Lessons, on_delete=models.CASCADE, null=True, 
related_name="releases")
done = models.BooleanField(default=False)

просмотров

class News(ListView):
model = Lessons
template_name = 'static/news.html'
context_object_name = 'posts'

def get_queryset(self):
    return Lessons.objects.all().prefetch_related(
        Prefetch('releases', queryset=DoneLessonsModel.objects.filter(user=self.request.user))).all()

html

...
{% for p in posts %}
    {% for release in p.releases.all %}
        <div class="col-md-3 mt-3">
          <div class="card mb-4 box-shadow
            {% if release.done == True %}
            bg-success text-white btn-outline-light
            {% else %}
            border-dark
            {% endif %} ">
            <div class="card-body">
              <p class="card-text">Lesson №{{ p.pk }}</p>
              <div class="d-flex justify-content-between align-items-center">
                <div class="btn-group">
                  <a href="{% url 'theory' p.pk %}" >
                      <button type="button" class="btn btn-sm
                      {% if release.done == True %}
                      btn-outline-light
                      {% else %}
                      btn-outline-dark
                      {% endif %} ">Start</button>
                  </a>
                </div>
              </div>
            </div>
          </div>
        </div>
    {% endfor %}
{% endfor %}
...
Вернуться на верх