This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidelines.
django-taggit
a simpler approach to tagging with Django. Add "taggit"
to your INSTALLED_APPS
then just add a TaggableManager to your model and go:
from django.db import models
from taggit.managers import TaggableManager
class Food(models.Model):
# ... fields here
tags = TaggableManager()
Then you can use the API like so:
>>> apple = Food.objects.create(name="apple")
>>> apple.tags.add("red", "green", "delicious")
>>> apple.tags.all()
[<Tag: red>, <Tag: green>, <Tag: delicious>]
>>> apple.tags.remove("green")
>>> apple.tags.all()
[<Tag: red>, <Tag: delicious>]
>>> Food.objects.filter(tags__name__in=["red"])
[<Food: apple>, <Food: cherry>]
Tags will show up for you automatically in forms and the admin.
django-taggit
requires Django 3.2 or greater.
For more info check out the documentation. And for questions about usage or development you can create an issue on Github (if your question is about usage please add the question tag).