Django Изменение булевого поля с помощью щелчка мыши

Я работаю над приложением To-do. Отдельные дела ссылаются на список дел через внешний ключ, а списки дел ссылаются на проект через внешний ключ.

Я хочу, чтобы при нажатии на кнопку статус дела устанавливался в true. Я видел несколько руководств, где это делается, но мне пока не удалось заставить это работать.

Вот модели:

class Project(models.Model):
    title = models.CharField(max_length= 200)
    description = tinymce_models.HTMLField()
    status = models.CharField(max_length=20, choices=PROJECT_CHOICES, default="active")
    date = models.DateTimeField(auto_now_add=True, null=True)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse ('project_detail', args=[str(self.id)])

class ProjectTodoGroup(models.Model):
    title = models.CharField(max_length=250)
    description = tinymce_models.HTMLField()
    project = models.ForeignKey(Project, blank=True, on_delete=models.CASCADE, related_name='todo_group')
    date = models.DateTimeField(auto_now_add=True, null=True)

    def __str__(self):
        return self.title

class ProjectTodo(models.Model):
    title = models.CharField(max_length= 250)
    notes = tinymce_models.HTMLField()
    status = models.BooleanField(default=False)
    projectgroup = models.ForeignKey(ProjectTodoGroup, blank=True, null=True, on_delete=models.CASCADE, related_name='todo_set')
    date = models.DateTimeField(auto_now_add=True, null=True)

    def __str__(self):
        return self.title

Вид:

    model = ProjectTodo
    fields = ['status']


    def get_context_data(self, **kwargs):
        # Call the base implementation first to get a context
        context = super().get_context_data(**kwargs)
        context['project'] = get_object_or_404(Project, id=self.kwargs.get('pk'))
        return context

    def get_success_url(self):
        return reverse('company_project:todo_group_detail', args=[self.kwargs.get('pk'), (self.object.id)])

Все, что я пробовал до сих пор с видом, не сработало.

Шаблон:

{% extends 'base.html' %}
{% load crispy_forms_tags %}

{% block content %}
<div class="section-container container">
  <div class="todo-group">
    <h2>{{ projecttodogroup.title }}</h2>
    <p>{{ projecttodogroup.description | safe }}</p>
  </div>
    <div><b>Todos</b></div>
  {% if projecttodogroup.todo_set.all %}
    {% for todo in projecttodogroup.todo_set.all %}
        <div class="todos" style="padding: 10px;">
          
            <a href="{% url 'company_project:todo_update' projecttodogroup.project.pk projecttodogroup.pk %}">{{ todo.title }}</a>
         
            
        </div>
      {% endfor %}
    {% else %}
    <p>No Todos have been have been added yet.</p>
    {% endif %}
  
  
  <h1>Add Todo</h1>
  
   <form action="" method="post">
    {% csrf_token %}
    {{ form.media }}
    {{ form|crispy }}
    <input type="submit" value="save">
   </form>
  </div>
{% endblock content %}
Вернуться на верх