django-model-utils/CHANGES.rst

240 lines
7.9 KiB
ReStructuredText
Raw Normal View History

CHANGES
=======
2014-02-19 21:01:51 +00:00
master (unreleased)
-------------------
2014-03-20 04:27:56 +00:00
* Fix ``get_query_set`` vs ``get_queryset`` in ``PassThroughManager`` for
Django <1.6. Fixes issues with related managers not filtering by relation
properly. Thanks whop, Bojan Mihelac, Daniel Shapiro, and Matthew Schinckel
for the report; Matthew for the fix. Merge of GH-121.
2014-03-02 19:20:55 +00:00
* Fix ``FieldTracker`` with deferred model attributes. Thanks Michael van
Tellingen. Merge of GH-115.
2014-02-19 22:42:37 +00:00
* Fix ``InheritanceManager`` with self-referential FK; avoid infinite
recursion. Thanks rsenkbeil. Merge of GH-114.
2.0.2 (2014.02.19)
2014-02-11 22:03:08 +00:00
-------------------
* ASCII-fold all non-ASCII characters in changelog. Apologies to those whose
names are mangled by this change. It seems that distutils makes it impossible
to handle non-ASCII content reliably under Python 3 in a setup.py
long_description, when the system encoding may be ASCII. Thanks Simone Dalla
for the report. Fixes GH-113.
2014-02-11 22:03:08 +00:00
2.0.1 (2014.02.11)
2014-01-07 01:26:01 +00:00
-------------------
2014-02-11 21:58:18 +00:00
* Fix dependency to be on "Django" rather than "django", which plays better
with static PyPI mirrors. Thanks Travis Swicegood.
2014-01-26 00:40:25 +00:00
* Fix issue with attempt to access ``__slots__`` when copying
``PassThroughManager``. Thanks Patryk Zawadzki. Merge of GH-105.
* Improve ``InheritanceManager`` so any attributes added by using extra(select)
will be propagated onto children. Thanks Curtis Maloney. Merge of GH-101,
fixes GH-34.
2014-01-10 23:29:44 +00:00
* Added ``InheritanceManagerMixin``, ``InheritanceQuerySetMixin``,
``PassThroughManagerMixin``, and ``QueryManagerMixin`` to allow composing
their functionality with other custom manager/queryset subclasses (e.g. those
in GeoDjango). Thanks Douglas Meehan!
2014-01-07 01:22:24 +00:00
2.0 (2014.01.06)
----------------
* BACKWARDS-INCOMPATIBLE: Indexing into a ``Choices`` instance now translates
database representations to human-readable choice names, rather than simply
indexing into an array of choice tuples. (Indexing into ``Choices`` was
previously not documented.) If you have code that is relying on indexing or
slicing ``Choices``, the simplest workaround is to change e.g. ``STATUS[1:]``
to ``list(STATUS)[1:]``.
2013-08-30 04:35:32 +00:00
* Fixed bug with checking for field name conflicts for added query managers on
`StatusModel`.
2013-11-14 19:39:19 +00:00
* Can pass `choices_name` to `StatusField` to use a different name for
choices class attribute. ``STATUS`` is used by default.
2013-10-22 18:15:17 +00:00
* Can pass model subclasses, rather than strings, into
`select_subclasses()`. Thanks Keryn Knight. Merge of GH-79.
2013-10-11 19:25:37 +00:00
* Deepcopying a `Choices` instance no longer fails with infinite recursion in
`getattr`. Thanks Leden. Merge of GH-75.
2013-10-08 17:15:01 +00:00
* `get_subclass()` method is now available on both managers and
querysets. Thanks Travis Swicegood. Merge of GH-82.
* Fix bug in `InheritanceManager` with grandchild classes on Django 1.6+;
`select_subclasses('child', 'child__grandchild')` would only ever get to the
child class. Thanks Keryn Knight for report and proposed fix.
2013-10-22 18:15:17 +00:00
* MonitorField now accepts a 'when' parameter. It will update only when the field
changes to one of the values specified.
2013-08-30 04:35:32 +00:00
2013-08-30 04:06:44 +00:00
1.5.0 (2013.08.29)
------------------
2013-06-03 20:27:24 +00:00
* `Choices` now accepts option-groupings. Fixes GH-14.
* `Choices` can now be added to other `Choices` or to any iterable, and can be
compared for equality with itself. Thanks Tony Aldridge. (Merge of GH-76.)
* `Choices` now `__contains__` its Python identifier values. Thanks Keryn
Knight. (Merge of GH-69).
* Fixed a bug causing ``KeyError`` when saving with the parameter
2013-08-08 15:45:49 +00:00
``update_fields`` in which there are untracked fields. Thanks Mikhail
Silonov. (Merge of GH-70, fixes GH-71).
* Fixed ``FieldTracker`` usage on inherited models. Fixes GH-57.
2013-07-29 19:57:02 +00:00
2013-08-17 18:31:03 +00:00
* Added mutable field support to ``FieldTracker`` (Merge of GH-73, fixes GH-74)
2013-08-08 14:02:12 +00:00
2013-06-03 20:27:24 +00:00
2013-06-03 20:25:29 +00:00
1.4.0 (2013.06.03)
------------------
2013-04-12 03:38:49 +00:00
- Introduced ``FieldTracker`` as replacement for ``ModelTracker``, which is now
deprecated.
- ``PassThroughManager.for_queryset_class()`` no longer ignores superclass
``get_query_set``. Thanks Andy Freeland.
2013-05-23 01:16:40 +00:00
- Fixed ``InheritanceManager`` bug with grandchildren in Django 1.6. Thanks
CrazyCasta.
- Fixed lack of ``get_FOO_display`` method for ``StatusField``. Fixes GH-41.
2013-04-12 03:38:49 +00:00
2013-04-12 03:35:51 +00:00
1.3.1 (2013.04.11)
------------------
2013-03-28 16:50:57 +00:00
2013-03-28 16:55:21 +00:00
- Added explicit default to ``BooleanField`` in tests, for Django trunk
compatibility.
2013-04-12 03:35:51 +00:00
- Fixed intermittent ``StatusField`` bug. Fixes GH-29.
2013-05-27 17:10:18 +00:00
- Added Python 3 support.
- Dropped support for Django 1.2 and 1.3. Django 1.4.2+ required.
2013-03-28 16:55:21 +00:00
2013-03-28 02:59:19 +00:00
1.3.0 (2013.03.27)
------------------
2011-02-18 22:20:11 +00:00
2013-02-21 23:27:21 +00:00
- Allow specifying default value for a ``StatusField``. Thanks Felipe
Prenholato.
- Fix calling ``create()`` on a ``RelatedManager`` that subclasses a dynamic
``PassThroughManager``. Thanks SeiryuZ for the report. Fixes GH-24.
- Add workaround for https://code.djangoproject.com/ticket/16855 in
InheritanceQuerySet to avoid overriding prior calls to
``select_related()``. Thanks ivirabyan.
- Added support for arbitrary levels of model inheritance in
InheritanceManager. Thanks ivirabyan. (This feature only works in Django
1.6+ due to https://code.djangoproject.com/ticket/16572).
- Added ``ModelTracker`` for tracking field changes between model saves. Thanks
Trey Hunner.
2013-02-19 04:07:44 +00:00
2013-01-27 22:54:29 +00:00
1.2.0 (2013.01.27)
------------------
- Moved primary development from `Bitbucket`_ to `GitHub`_. Bitbucket mirror
will continue to receive updates; Bitbucket issue tracker will be closed once
all issues tracked in it are resolved.
.. _BitBucket: https://bitbucket.org/carljm/django-model-utils/overview
.. _GitHub: https://github.com/carljm/django-model-utils/
2013-01-27 21:30:31 +00:00
- Removed deprecated ``ChoiceEnum``, ``InheritanceCastModel``,
``InheritanceCastManager``, and ``manager_from``.
- Fixed pickling of ``PassThroughManager``. Thanks Rinat Shigapov.
- Set ``use_for_related_fields = True`` on ``QueryManager``.
- Added ``__len__`` method to ``Choices``. Thanks Ryan Kaskel and James Oakley.
- Fixed ``InheritanceQuerySet`` on Django 1.5. Thanks Javier Garcia Sogo.
2012-04-13 23:33:23 +00:00
1.1.0 (2012.04.13)
------------------
2012-01-08 00:34:18 +00:00
- Updated AutoCreatedField, AutoLastModifiedField, MonitorField, and
TimeFramedModel to use ``django.utils.timezone.now`` on Django 1.4.
Thanks Donald Stufft.
- Fixed annotation of InheritanceQuerysets. Thanks Jeff Elmore and Facundo
Gaich.
- Dropped support for Python 2.5 and Django 1.1. Both are no longer supported
even for security fixes, and should not be used.
2011-12-06 16:39:57 +00:00
- Added ``PassThroughManager.for_queryset_class()``, which fixes use of
2011-12-06 00:09:18 +00:00
``PassThroughManager`` with related fields. Thanks Ryan Kaskel for report and
fix.
- Added ``InheritanceManager.get_subclass()``. Thanks smacker.
2011-06-16 21:22:56 +00:00
1.0.0 (2011.06.16)
------------------
- Fixed using SplitField on an abstract base model.
2011-06-16 21:22:56 +00:00
- Fixed issue #8, adding ``use_for_related_fields = True`` to
``InheritanceManager``.
- Added ``PassThroughManager``. Thanks Paul McLanahan.
- Added pending-deprecation warnings for ``InheritanceCastModel``,
``manager_from``, and Django 1.1 support. Removed documentation for the
deprecated utilities. Bumped ``ChoiceEnum`` from pending-deprecation to
deprecation.
- Fixed issue #6, bug with InheritanceManager and descriptor fields (e.g.
FileField). Thanks zyegfryed for the fix and sayane for tests.
2011-06-16 21:22:56 +00:00
0.6.0 (2011.02.18)
------------------
2011-02-18 21:47:52 +00:00
- updated SplitField to define get_prep_value rather than get_db_prep_value.
This avoids deprecation warnings on Django trunk/1.3, but makes SplitField
incompatible with Django versions prior to 1.2.
- added InheritanceManager, a better approach to selecting subclass instances
for Django 1.2+. Thanks Jeff Elmore.
2010-10-05 12:59:25 +00:00
- added InheritanceCastManager and InheritanceCastQuerySet, to allow bulk
casting of a queryset to child types. Thanks Gregor Muellegger.
2010-10-05 12:59:25 +00:00
2010-09-24 14:33:09 +00:00
0.5.0 (2010.09.24)
------------------
- added manager_from (thanks George Sakkis)
2010-04-16 04:37:12 +00:00
- added StatusField, MonitorField, TimeFramedModel, and StatusModel
(thanks Jannis Leidel)
- deprecated ChoiceEnum and replaced with Choices
2010-03-16 21:55:56 +00:00
0.4.0 (2010.03.16)
------------------
2010-01-15 22:26:59 +00:00
- added SplitField
2010-01-14 00:25:16 +00:00
- added ChoiceEnum
- added South support for custom model fields
0.3.0
-----
* Added ``QueryManager``