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.