Skip to main content

Django Tag Me   Release Version

Project Status: Active PyPI - Version PyPI - Python Version PyPI - Versions from Framework Classifiers Documentation Status

Total downloads Monthly downloads Weekly downloads

Simple, flexible tagging for Django.

Add tags to any Django model field -- with a polished widget, per-user tag customization, and automatic resilience to model renames.

Features

  • Easy setup -- Add TagMeCharField to your model and go
  • Beautiful widget -- Searchable dropdown with tag pills, powered by Alpine.js
  • User tags -- Each user gets their own customizable tag set per field
  • System tags -- Define default tags available to all users
  • Tag synchronization -- Keep tags in sync across related models
  • Model rename resilient -- FK-based lookups with automatic orphan detection and repair
  • CLI diagnostics -- Health checks, orphan repair, and built-in troubleshooting via tag_me command
  • Structured logging -- Observability via structlog for production monitoring
  • Form integration -- Drop-in mixin for your model forms
  • Template tags -- Display tags as styled pills

Quick Example

# models.py
from tag_me.models import TagMeCharField

class Article(models.Model):
    tags = TagMeCharField(blank=True)
    category = TagMeCharField(choices=CategoryChoices.choices, system_tag=True)
# forms.py
from tag_me.forms import TagMeModelFormMixin

class ArticleForm(TagMeModelFormMixin, forms.ModelForm):
    class Meta:
        model = Article
        fields = ["tags", "category"]

See the Quickstart for the full setup including templates and frontend requirements.

Widget Preview

Dropdown with tag options

Tag dropdown with options

Search and filter tags

Tag dropdown search functionality

Model Rename Resilience

Rename your Django models without breaking tags. Tag-me uses ContentType foreign keys instead of model name strings, and automatically detects and merges orphaned records during migration.

# Rename your model, then:
python manage.py makemigrations   # answer "yes" to rename prompt
python manage.py migrate          # tag-me handles the rest

# Verify everything is clean:
python manage.py tag_me check

See How to Upgrade to FK Lookup for details on the FK-based system.

Management Command

Tag-me includes a CLI for diagnostics and administration:

python manage.py tag_me populate              # create/update tags
python manage.py tag_me check                 # data integrity audit
python manage.py tag_me fix-orphans --dry-run # preview orphan repair
python manage.py tag_me help                  # built-in documentation

Tag population runs automatically after every migrate. The CLI exists for diagnostics, manual repair, and single-user operations.

See How to Use the Tag-me CLI for the full guide.

Installation

pip install django-tag-me

See the documentation for setup and usage instructions.

Links

Credits

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_tag_me-2026.8.2.1.tar.gz (213.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_tag_me-2026.8.2.1-py3-none-any.whl (112.2 kB view details)

Uploaded Python 3

File details

Details for the file django_tag_me-2026.8.2.1.tar.gz.

File metadata

  • Download URL: django_tag_me-2026.8.2.1.tar.gz
  • Upload date:
  • Size: 213.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for django_tag_me-2026.8.2.1.tar.gz
Algorithm Hash digest
SHA256 3a3d7dd3360436601a6911dd56772a3d747354206401a067298561be55b1dd23
MD5 f20337a09e481544a29d315b65dd7319
BLAKE2b-256 8bef6464d0f6185355c0c82165fcad7d3f0aa80fa902063d4700a2ab062405e6

See more details on using hashes here.

File details

Details for the file django_tag_me-2026.8.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_tag_me-2026.8.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43a4872e114e2e3376b4586c115c28e7be0f90f16a066c076453d19756719f05
MD5 3bef71647f96dd4df6ace7a51129e355
BLAKE2b-256 624610a386c6549662832a54a707454da3c11568bdfec2c28935cdcfe2a68385

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2026.8.2.1 This release

2 files

2026.6.16.1

2 files

2026.6.2.1

2 files

2026.2.27.1

2 files

2026.2.26.2

2 files

2026.2.24.1

2 files

2026.2.21.2

2 files

2026.2.21.1

2 files

2026.2.17.1

2 files

2026.1.7.1

2 files

2026.1.5.1

2 files

2025.12.11.2

2 files

2025.12.11.1

2 files

2025.12.5.2

2 files

2025.12.5.1

2 files

2025.11.24.1

2 files

2025.11.22.1

2 files

2025.11.20.2

2 files

2025.11.20.1

2 files

2025.10.25.3

2 files

2025.10.23.1

2 files

2025.10.15.1

2 files

2025.8.6.2

2 files

2025.8.6.1

2 files

2025.7.11.1

2 files

2025.7.9.1

2 files

2025.7.1.1

2 files

2025.6.9.2

2 files

2025.6.9.1

2 files

2025.5.14.1

2 files

2025.4.13.1

2 files

2025.2.20.1

2 files

2025.2.18.1

2 files

2025.2.11.1

2 files

2025.2.4.1

2 files

2025.1.27.1

2 files

2025.1.25.2

2 files

2025.1.24.1

2 files

2025.1.23.1

2 files

2025.1.18.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.1

2 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