Django

Model Relationships

ForeignKey, M2M, and related queries

Model Relationships

TaskBoard: Task → Project (many-to-one). Tags use many-to-many.

class Tag(models.Model):
    name = models.SlugField(unique=True)

class Task(models.Model):
    # ...
    tags = models.ManyToManyField(Tag, blank=True, related_name="tasks")
# Access related objects
project = Project.objects.get(pk=1)
open_tasks = project.tasks.filter(is_done=False)
task.tags.add(tag)

on_delete: CASCADE deletes tasks when a project is deleted—choose PROTECT when child rows must block deletion.