Представления отношений в Django не показывают контрольные списки, принадлежащие каждой задаче

Я хочу отображать под каждой задачей, все чеклисты, которые принадлежат данной задаче

Мои модели

class Project(models.Model):
    project_manager = models.ForeignKey(Profile, on_delete=CASCADE)

    title           = models.CharField(max_length=55, null=True, blank=True)
    developers      = models.ManyToManyField(Profile, related_name='projects')
    slug            = models.SlugField(max_length=500, unique=True, blank=True)
    description     = models.TextField(default="Project description")
    date            = models.DateTimeField(auto_now_add=True)
    start_date      = models.DateTimeField()
    due_date        = models.DateTimeField()

    teams           = models.ForeignKey(Team, blank=True, null=True, on_delete=CASCADE)
    tasks           = models.ManyToManyField("Task", blank=True)

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.title)
        super(Project, self).save(*args, **kwargs)

    def get_url(self):
        return reverse('project_detail', kwargs={
            'slug':self.slug
        })

    def __str__(self):
        return self.title

    @property
    def num_task(self):
        return self.tasks.count()

    @property
    def num_task_completed(self):
        return self.tasks.filter(task_completed = True).count()

class Task(models.Model):
    title           = models.CharField(max_length=55, null=True, blank=True)
    slug            = models.SlugField(max_length=500, unique=True, blank=True)
    task_completed  = models.BooleanField(default=False)
    description     = models.TextField(default="Task description")
    date            = models.DateTimeField(auto_now_add=True)
    due_date        = models.DateTimeField()

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.title)
        super(Task, self).save(*args, **kwargs)

    def __str__(self):
        return self.title
    
    def get_url(self):
        return reverse('task_detail', kwargs={
            'slug':self.slug
        })

class Checklist(models.Model):
    title           = models.CharField(max_length=55)
    slug            = models.SlugField(max_length=500, unique=True, blank=True)
    date            = models.DateTimeField(auto_now_add=True)
    due_date        = models.DateTimeField()
    check_completed = models.BooleanField(default=False)

    task            = models.ForeignKey(Task, blank=True, null=True, related_name='tasks', on_delete=CASCADE)

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.title)
        super(Checklist, self).save(*args, **kwargs)

    def return_url(self):
        return reverse('project_detail', kwargs={
            'slug':self.slug
        })

    def __str__(self):
        return self.title

и в моем представлении, где я хочу получить доступ к контрольному списку

def project_detail(request, slug):
    '''
    Detailed view of given project
    '''
    project     = get_object_or_404(Project, slug=slug)
    tasks       = Task.objects.filter(task_completed=False, project=project)
    checklists  = Checklist.objects.filter(check_completed=False, task__in=tasks)

    context = {
        'tasks': tasks,
        'project': project,
        'checklists': checklists,
        'title': tasks
    }

    return render(request, 'projects/tasks.html', context)

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

в html я делаю

{% for checklist in checklists %}
    <a href="{{ checklist.get_url }}"><h6 data-filter-by="text">{{ checklist.title }}</h6></a>

Тогда внутри задач он должен дать мне контрольные списки, которые принадлежат задаче, но нет.

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