Building a follower system
We will build a follower system into our project. Our users will be able to follow each other and track what other users share on the platform. The relationship between users is a many-to-many relationship. A user can follow multiple users and they, in turn, can be followed by multiple users.
Creating many-to-many relationships with an intermediary model
In previous chapters, you created many-to-many relationships by adding ManyToManyField
to one of the related models and letting Django create the database table for the relationship. This is suitable for most of the cases, but sometimes you may need to create an intermediate model for the relation. Creating an intermediary model is necessary when you want to store additional information for the relationship, for example, the date when the relation was created, or a field that describes the nature of the relationship.
We will create an intermediary model to build relationships between users. There are two reasons why...