======================
Django Tagging PlateIQ
======================
|travis-develop| |coverage-develop|
This is a generic tagging application for Django projects with added support for CharField IDs. Tailored for PlateIQ.
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.3, 1st May 2020:
----------------------------
* Change migration order
Version 0.5.1, 13th April 2020:
-------------------------------
* Fix migration conflicts
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:
---------------------------------
* 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\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.