==============
Django Tagging
|travis-develop| |coverage-develop|
This is a generic tagging application for Django projects
https://django-tagging.readthedocs.io/
Note that this application version requires Python 3.5 or later, and Django
1.11 or later. You can obtain Python from http://www.python.org/ and
Django from http://www.djangoproject.com/.
.. |travis-develop| image:: https://travis-ci.org/Fantomas42/django-tagging.png?branch=develop
:alt: Build Status - develop branch
:target: http://travis-ci.org/Fantomas42/django-tagging
.. |coverage-develop| image:: https://coveralls.io/repos/Fantomas42/django-tagging/badge.png?branch=develop
:alt: Coverage of the code
:target: https://coveralls.io/r/Fantomas42/django-tagging
========================
Django Tagging Changelog
Version 0.5.0, 6th March 2020:
- Drop support for Python 2.
- Compatiblity fix for Django 2.2 and Django 3.0.
Version 0.4.6, 14th October 2017:
- Fix IntegrityError while saving inconsistent tags
- Update tag name length to use MAX_TAG_LENGTH setting
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:
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\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.