Welcome back! In our previous lesson, we explored how to implement a one-to-one relationship in Django by linking a Note
model to an existing Todo
model. This relationship allowed each Todo
item to have a unique note associated with it.
Today, we will advance to another fundamental concept in database schema design: the one-to-many relationship. This type of relationship is essential in many real-world scenarios, such as associating multiple tasks with a single project or user. By the end of this lesson, you will learn how to define a one-to-many relationship in Django, serialize the data, and perform CRUD (Create, Read, Update, Delete) operations through a REST API.
Let's imagine that we want to store task groups as a separate model to bind more information to a group, such as a group's access rights or settings. In this case, each Group
instance can have multiple corresponding Todo
instances (as each group stores multiple items), but each Todo
instance can be inside only one group. This is called a one-to-many relationship.
Here's how you can define this in models.py
:
