Skip to main content

Generic tagging application for Django

Project description

Django Tagging

Build Status - develop branch Coverage of the code

This is a generic tagging application for Django projects

http://django-tagging.readthedocs.org/

Note that this application requires Python 2.7 or later, and Django 1.7 or later. You can obtain Python from http://www.python.org/ and Django from http://www.djangoproject.com/.

Django Tagging Changelog

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\runtests.py, as tests can be run with django-admin.py 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 models.py - 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 http://django-tagging.googlecode.com/files/tagging-0.2.zip

  • 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 http://django-tagging.googlecode.com/files/tagging-0.1.zip

  • First packaged version using distutils.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page