Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Generic tagging application for Django

Project Description

Django Tagging

This is a generic tagging application for Django projects

Note that this application requires Python 2.7 or later, and Django 1.8 or later. You can obtain Python from and Django from

Django Tagging Changelog

Version 0.4.5, 6th September 2016:

  • Fix on the previous compatiblity fix.

Version 0.4.4, 5th September 2016:

  • Compatiblity fix for Django 1.10

Version 0.4.3, 3rd May 2016:

  • Add missing migration for on_delete

Version 0.4.2, 2nd May 2016:

  • Fix tag weight
  • Reduce warnings for recent versions of Django

Version 0.4.1, 15th January 2016:

  • Typo fixes
  • Support apps

Version 0.4, 15th June 2015:

  • Modernization of the package

Version 0.3.6, 13th May 2015:

  • Corrected initial migration

Version 0.3.5, 13th May 2015:

  • Added support for Django 1.8
  • Using migrations to fix syncdb
  • Rename get_query_set to get_queryset
  • Import GenericForeignKey from the new location

Version 0.3.4, 7th November 2014:

  • Fix unicode errors in admin

Version 0.3.3, 15th October 2014:

  • Added support for Django 1.7

Version 0.3.2, 18th February 2014:

  • Added support for Django 1.4 and 1.5
  • Added support for Python 2.6 to 3.3
  • Added tox to test and coverage

Version 0.3.1, 22nd January 2010:

  • Fixed Django 1.2 support (did not add anything new)
  • Fixed #95 - tagging.register won’t stomp on model attributes

Version 0.3.0, 22nd August 2009:

  • Fixes for Django 1.0 compatibility.
  • Added a tagging.generic module for working with list of objects which have generic relations, containing a fetch_content_objects function for retrieving content objects for a list of TaggedItem``s using ``number_of_content_types + 1 queries rather than the number_of_tagged_items * 2 queries you’d get by iterating over the list and accessing each item’s object attribute.
  • Added a usage method to ModelTagManager.
  • TaggedItemManager’s methods now accept a QuerySet or a Model class. If a QuerySet is given, it will be used as the basis for the QuerySet``s the methods return, so can be used to restrict results to a subset of a model's instances. The `tagged_object_list generic view and ModelTaggedItemManager`` manager have been updated accordingly.
  • Removed tagging\tests\, as tests can be run with test --settings=tagging.tests.settings.
  • A tagging.TagDescriptor is now added to models when registered. This returns a tagging.managers.ModelTagManager when accessed on a model class, and provide access to and control over tags when used on an instance.
  • Added tagging.register to register models with the tagging app. Initially, a tagging.managers.ModelTaggedItemManager is added for convenient access to tagged items.
  • Moved TagManager and TaggedItemManager to - gets rid of some import related silliness, as TagManager needs access to TaggedItem.

Version 0.2.1, 16th Jan 2008:

  • Fixed a bug with space-delimited tag input handling - duplicates weren’t being removed and the list of tag names wasn’t sorted.

Version 0.2, 12th Jan 2008:

Packaged from revision 122 in Subversion; download at

  • Added a tag_cloud_for_model template tag.
  • Added a MAX_TAG_LENGTH setting.
  • Multi-word tags are here - simple space-delimited input still works. Double quotes and/or commas are used to delineate multi- word tags. As far as valid tag contents - anything goes, at least initially.
  • BACKWARDS-INCOMPATIBLE CHANGE - django.utils.get_tag_name_list and related regular expressions have been removed in favour of a new tag input parsing function, django.utils.parse_tag_input.
  • BACKWARDS-INCOMPATIBLE CHANGE - Tag and TaggedItem no longer declare an explicit db_table. If you can’t rename your tables, you’ll have to put these back in manually.
  • Fixed a bug in calculation of logarithmic tag clouds - font_size attributes were not being set in some cases when the least used tag in the cloud had been used more than once.
  • For consistency of return type, TaggedItemManager.get_by_model now returns an empty QuerySet instead of an empty list if non-existent tags were given.
  • Fixed a bug caused by cloud_for_model not passing its distribution argument to calculate_cloud.
  • Added TaggedItemManager.get_union_by_model for looking up items tagged with any one of a list of tags.
  • Added TagManager.add_tag for adding a single extra tag to an object.
  • Tag names can now be forced to lowercase before they are saved to the database by adding the appropriate FORCE_LOWERCASE_TAGS setting to your project’s settings module. This feature defaults to being off.
  • Fixed a bug where passing non-existent tag names to TaggedItemManager.get_by_model caused database errors with some backends.
  • Added tagged_object_list generic view for displaying paginated lists of objects for a given model which have a given tag, and optionally related tags for that model.

Version 0.1, 30th May 2007:

Packaged from revision 79 in Subversion; download at

  • First packaged version using distutils.
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django_tagging-0.4.6-py2.py3-none-any.whl (35.8 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Oct 14, 2017
django-tagging-0.4.6.tar.gz (45.2 kB) Copy SHA256 Checksum SHA256 Source Oct 14, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting