рассмотрим эту модель
from django.auth import get_user_model
class Tag(models.Model):
name = models.CharField(max_length=100, unique=True)
class UserTag(models.Model):
class Meta:
unique_together = (('user', 'tag'),)
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, related_name='tags')
tag = models.ForeignKey(Tag, on_delete=models.CASCADE, related_name='users')
, чтобы получить / создать тег
tag = Tag.objects.get_or_create(name='django')
# applying it to user:
UserTag.objects.get_or_create(user=user, tag=tag)
# find user tags:
user.tags.all()
# find tag users:
tag.users.all()