Skip to main content

Django Tagulous - Fabulous Tags

PyPI Documentation Tests Coverage

A tagging library for Django. Built on ForeignKey and ManyToManyField to support tag strings as well as native ORM queries.

Use a SingleTagField as a CharField with dynamic choices, or a TagField for conventional tagging or nested categorisation.

If you find this project useful, please do consider sponsoring development.

Features

  • Easy to install - simple requirements, simple syntax, lots of options
  • Based on ForeignKey and ManyToManyField, so it's easy to query
  • Autocomplete support built in, if you want it
  • Supports multiple independent fields on a single model
  • Supports trees of nested tags, for detailed categorisation
  • Admin support for managing tags and tagged models

Tested on Django 3.2 to 6.1, on Python 3.10+.

See the Documentation for details of how Tagulous works; in particular:

Quickstart

Install with pip install django-tagulous, add django_tagulous to Django's INSTALLED_APPS and define the serializers, then start adding tag fields to your model:

from django.db import models
from django_tagulous.models import SingleTagField, TagField

class Person(models.Model):
    name = models.CharField(max_length=255)
    title = SingleTagField(initial="Mr, Mrs, Miss, Ms")
    skills = TagField()

You can now set and get them using strings, lists or querysets:

myperson = Person.objects.create(name='Bob', title='Mr', skills='run, hop')
# myperson.skills == 'run, hop'
myperson.skills = ['jump', 'kung fu']
myperson.save()
# myperson.skills == 'jump, "kung fu"'
runners = Person.objects.filter(skills='run')

Behind the scenes each tag field is a ForeignKey or ManyToManyField relationship to a separate model (by default), so more complex queries are simple:

qs = MyRelatedModel.objects.filter(
    person__skills__name__in=['run', 'jump'],
)

As well as this you also get autocompletion in public and admin forms, automatic slug generation, unicode support, you can build tag clouds easily, and can nest tags for more complex categorisation.

Metadata

Release files for django-tagulous 2.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-tagulous 2.2.3
File Size Uploaded
django_tagulous-2.2.3.tar.gz 306.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-tagulous 2.2.3
File Interpreter ABI Platform
django_tagulous-2.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 601.9 kB

Release files / django_tagulous-2.2.3.tar.gz

Download URL django_tagulous-2.2.3.tar.gz
Size 306.8 kB
Tags Source
SHA-256 checksum
How to use checksums
59c8262c014b07db12ac05f0c3ae1429375ba42a00dfdf4721efbcd341816534
BLAKE2b-256 checksum
How to use checksums
ba20df937bfe0645efe8a910cb002747436fd55dc3f0730b5ba84e7d315f0f4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / django_tagulous-2.2.3-py3-none-any.whl

Download URL django_tagulous-2.2.3-py3-none-any.whl
Size 295.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdd66cd0d9003cc35827f2c74ca6729407272a94123ed936123fbf3f441b8966
BLAKE2b-256 checksum
How to use checksums
d52ce356db3ff053b8966987610be7d5d14256da51677b21942221b0ddd4887c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.2.3 This release

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

1 release file

0.14.1

1 release file

0.14.0

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.13.0

1 release file

0.12.0

2 release files

0.10.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page