models.py:
class Level(models.Model):
    number = models.IntegerField()
    badge = models.ImageField()
    locked_badge = models.ImageField()
    timestamp=
    models.DateTimeField(auto_now_add=True,auto_now=False,blank=True, 
    null=True)
    unlock = models.CharField(max_length=10,default="A")
    def __str__(self):
        return str(self.number)
    def get_absolute_url(self):
        return reverse('student:level-detail', kwargs={'pk': self.pk})
class ToDo(models.Model):
    level = models.ForeignKey(Level, on_delete=models.CASCADE)
    name = models.CharField(max_length=150)
    description = models.TextField()
    timestamp = 
    models.DateTimeField(auto_now_add=True,auto_now=False,blank=True, 
    null=True)
    def __str__(self):
        return self.name
class PostManager(models.Manager):
    def active(self, *args, **kwargs):
        #Post.objects.all() = super(PostManager, self).all()
        return super(PostManager, 
        self).filter(draft=False).filter(publish__lte=timezone.now())
class Task(models.Model):
     level = models.ForeignKey(Level, on_delete=models.CASCADE)
     todo = models.ForeignKey(ToDo, on_delete=models.CASCADE)
     student = models.ForeignKey(User, on_delete=models.CASCADE)
     title = models.CharField(max_length=150)
     content = models.TextField()
     timestamp = models.TimeField(auto_now=True)
     datestamp = models.DateField( auto_now=True)
     like = 
     models.ManyToManyField(User,related_name='user_likes',blank=True)
     is_verified=models.BooleanField(default=False,blank=True)
     def __str__(self):
         return self.title
     def get_absolute_url(self):
        return reverse('student:dashboard')
        objects = PostManager()
     @property
     def comments(self):
        instance = self
        qs = Comment.objects.filter_by_instance(instance)
        return qs
     @property
     def get_content_type(self):
        instance = self
        content_type = 
        ContentType.objects.get_for_model(instance.__class__)
        return content_type
My views.py:
@login_required(login_url='/account/login/')
def StudentLevelDetailView(request,pk=None):
    if not request.user.is_client:
        return HttpResponse("You are in trainer account")
    else:
        Client=ClientProfile.objects.get(user=request.user)
        subscription=Client.subscription
        instance = get_object_or_404(Level, pk=pk)
        todos=ToDo.objects.filter(level=instance)
        tasks=Task.objects.filter(todo=todos,level=instance)
        notifications =  
        Notification.objects.exclude(sender=request.user)
        .filter(receiver=request.user).order_by('-timestamp')
        acceptnotify = Addnotify.objects
       .filter(receiver=request.user).order_by('-timestamp')
       follownotify = FollowNotify.objects
       .filter(receiver=request.user).order_by('-timestamp')
       hubnotifications = HubNotify.objects
       .filter(receiver=request.user).order_by('-timestamp')
       newnotifications = int(
       Notification.objects.exclude(sender=request.user)
       .filter(receiver=request.user, viewed=False).count() +
        FollowNotify.objects.exclude(sender=request.user)
       .filter(receiver=request.user, viewed=False).count() +
        HubNotify.objects.exclude(sender=request.user)
       .filter(receiver=request.user, viewed=False).count() +
         Addnotify.objects.exclude(sender=request.user)
       .filter(receiver=request.user, viewed=False).count())
        global is_paid_member
        global is_paid_fellow
        context = {
         'paidmember':is_paid_member,
         'paidfellow': is_paid_fellow,
         'task': instance,
         'tasks':tasks,
         'notifications': notifications,
         'newnotify': newnotifications,
         'completed':False,
         'subscription': subscription,
         'hubnotify': hubnotifications,
         'acceptnotify': acceptnotify,
         'follownotify': follownotify,
     }
        return render(request,'task_list.html',context)
template:
 {% for obj in task.todo_set.all %}
    <div class="card">
    <div class="card-header" id="headingOne">
        <h5 class="mb-0">
        <button style="width: 100%;" class="btn" data- 
toggle="collapse" data-target="#{{ obj.id }}" aria-expanded="true">
    #Only display based on condition        
<span class="mytaskbutton"><i class="fas fa-check"></i> 
 </span></i>  
 {{ obj.name }}
        </button>
        </h5>
    </div>
    <div id="{{ obj.id }}" class="collapse" aria- 
  labelledby="headingOne" data-parent="#accordion">
        <div class="card-body">
            {{ obj.description }}
        <div>
        <a data-click="swal-taskcompleted" href="{% url 'student:task- 
  form' task.id obj.id %}" style="width: 100%;" type="button" 
  class="btn btn-primary">Proceed</a>
        </div>
        </div>
    </div>
    </div>
  {% endfor %}
Task getting saved when form is filled:
@login_required(login_url='/account/login/')
 def TaskCreateView(request,pk,todo_id):
     if not request.user.is_authenticated:
        return redirect('accounts:index')
     elif User.objects.filter(pk=request.user.pk, 
        mentor__isnull=True).exists():
        instance = get_object_or_404(Level, pk=pk)
        sweetify.error(request, 'You have not added a trainer yet')
        print("TRAINER ILADA")
        return HttpResponseRedirect(instance.get_absolute_url())
     else:
       instance = get_object_or_404(Level, pk=pk)
       qs = instance.todo_set.get(id=todo_id)
       #user = Task.objects.filter(student=request.user)
       todo = Task.objects.filter(todo=qs, student=request.user)
       print("TODO COUNT",todo.count())
     if todo.exists():
        print("TODO COUNT ALRAESY EXISTA", todo.count())
        messages.error(request, 'You already completed this task')
        return redirect('student:level-detail',pk=instance.id)
     form = StudentTaskForm(request.POST or None, request.FILES or None)
    if form.is_valid():
        form.instance.user = User.objects.get(id=request.user.id)
        obj = form.save(commit=False)
        obj.student = request.user
        obj.todo = qs
        obj.level = instance
        obj.save()
    ImageFormSet = modelformset_factory(Images,
                                        form=ImageForm,min_num=0,
                                 max_num=3,  
    validate_min=True,extra=3)
    if request.method == 'POST':
        formset = ImageFormSet(request.POST, request.FILES,
                           queryset=Images.objects.none())
    if formset.is_valid():
        for form in formset.cleaned_data:
            try:
                image = form['image']
                Images.objects.create(post=todo[0],image=image)
            except KeyError:
                pass
         return redirect('student:dashboard')
     else:
        formset = ImageFormSet(queryset=Images.objects.none())
        notifications = 
Notification.objects.exclude(sender=request.user)
       .filter(receiver=request.user)
       newnotifications = int(
       Notification.objects.exclude(sender=request.user)
       .filter(receiver=request.user, viewed=False).count() +
       FollowNotify.objects.exclude(sender=request.user)
    .filter(receiver=request.user, viewed=False).count() +
    HubNotify.objects.exclude(sender=request.user)
   .filter(receiver=request.user, viewed=False).count() +
    Addnotify.objects.exclude(sender=request.user)
   .filter(receiver=request.user, viewed=False).count())
   hubnotifications=HubNotify.objects
   .filter(receiver=request.user).order_by('-timestamp')
    acceptnotify = Addnotify.objects
  .filter(receiver=request.user).order_by('-timestamp')
   follownotify = FollowNotify.objects
  .filter(receiver=request.user).order_by('-timestamp')
  counts=int(todo.count())
 context={
    'form': form,
    "qs": qs,
    'todo':todo,
    'formset': formset,
    'notifications': notifications,
    'hubnotify': hubnotifications,
    'newnotify': newnotifications,
    'acceptnotify': acceptnotify,
    'follownotify': follownotify,
}
return render(request,'task_form.html',context)
StudentTaskForm is a model form .Has model as Task
I have 3 models. Todo, Level, and Task. Each Level contains many 'todos'. Tasks are basically completed todos. So if a todo is completed, it is saved as a Task. I want the check icon in the 'todo' list be displayed if 'todo' is already completed, that is if this 'todo' is saved as a task. The icon with class "fas fa-check" specifically should be displayed only if this todo is completed. The 'todos' are displayed as a list. In the template, the Level is passed as 'task'... So all the 'todos' in the level are pulled by task.todo_set.all... I want the 'todos' that are also in the Task which is basically all the completed todos to have the check
 
     
     
    