Create a model with Django UserModel as foreign key

To get the user model, we have to retrieve the django user model from settings

Foreign key is a one to many field by default. That is, each record of the table tag can have only one user. But many records can have the same user

In core/models.py

# recommended way to retrieve settings from settings.py
from django.conf import settings

class Tag(models.Model):
    """ Tag to be set for a recipe"""
    name = models.CharField(max_length=255)
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE
    )

    def __str__(self):
        return self.name

Make migrations

python manage.py makemigrations

Register model in admin.py

admin.site.register(models.Tag)