{ "info": { "author": "Carl Meyer", "author_email": "carl@oddbird.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.1", "Framework :: Django :: 2.2", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "==================\ndjango-model-utils\n==================\n\n.. image:: https://jazzband.co/static/img/badge.svg\n :target: https://jazzband.co/\n :alt: Jazzband\n.. image:: https://travis-ci.org/jazzband/django-model-utils.svg?branch=master\n :target: https://travis-ci.org/jazzband/django-model-utils\n.. image:: https://codecov.io/gh/jazzband/django-model-utils/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/jazzband/django-model-utils\n.. image:: https://img.shields.io/pypi/v/django-model-utils.svg\n :target: https://pypi.python.org/pypi/django-model-utils\n\nDjango model mixins and utilities.\n\n``django-model-utils`` supports `Django`_ 1.11 and 2.1+.\n\n.. _Django: http://www.djangoproject.com/\n\nThis app is available on `PyPI`_.\n\n.. _PyPI: https://pypi.python.org/pypi/django-model-utils/\n\nGetting Help\n============\n\nDocumentation for django-model-utils is available\nhttps://django-model-utils.readthedocs.io/\n\n\nRun tests\n---------\n\n.. code-block\n\n pip install -e .\n py.test\n\nContributing\n============\n\nPlease file bugs and send pull requests to the `GitHub repository`_ and `issue\ntracker`_. See `CONTRIBUTING.rst`_ for details.\n\n.. _GitHub repository: https://github.com/jazzband/django-model-utils/\n.. _issue tracker: https://github.com/jazzband/django-model-utils/issues\n.. _CONTRIBUTING.rst: https://github.com/jazzband/django-model-utils/blob/master/CONTRIBUTING.rst\n\n\nCHANGES\n=======\n\n3.2.0 (2019.06.21)\n-------------------\n- Catch `AttributeError` for deferred abstract fields, fixes GH-331.\n- Update documentation to explain usage of `timeframed` model manager, fixes GH-118\n- Honor `OneToOneField.parent_link=False`.\n- Fix handling of deferred attributes on Django 1.10+, fixes GH-278\n- Fix `FieldTracker.has_changed()` and `FieldTracker.previous()` to return\n correct responses for deferred fields.\n- Add Simplified Chinese translations.\n- Update AutoLastModifiedField so that at instance creation it will\n always be set equal to created to make querying easier. Fixes GH-254\n- Support `reversed` for all kinds of `Choices` objects, fixes GH-309\n- Fix Model instance non picklable GH-330\n- Fix patched `save` in FieldTracker\n- Upgrades test requirements (pytest, pytest-django, pytest-cov) and\n skips tox test with Python 3.5 and Django (trunk)\n- Add UUIDModel and UUIDField support.\n\n3.1.2 (2018.05.09)\n------------------\n* Update InheritanceIterable to inherit from\n ModelIterable instead of BaseIterable, fixes GH-277.\n\n* Add all_objects Manager for 'SoftDeletableModel' to include soft\n deleted objects on queries as per issue GH-255\n\n3.1.1 (2017.12.17)\n------------------\n\n- Update classifiers and README via GH-306, fixes GH-305\n\n3.1.0 (2017.12.11)\n------------------\n\n- Support for Django 2.0 via GH-298, fixes GH-297\n- Remove old travis script via GH-300\n- Fix codecov and switch to py.test #301\n\n3.0.0 (2017.04.13)\n------------------\n\n* Drop support for Python 2.6.\n* Drop support for Django 1.4, 1.5, 1.6, 1.7.\n* Exclude tests from the distribution, fixes GH-258.\n* Add support for Django 1.11 GH-269\n* Add a new model to disable pre_save/post_save signals\n\n\n2.6.1 (2017.01.11)\n------------------\n\n* Fix infinite recursion with multiple `MonitorField` and `defer()` or `only()`\n on Django 1.10+. Thanks Romain Garrigues. Merge of GH-242, fixes GH-241.\n\n* Fix `InheritanceManager` and `SoftDeletableManager` to respect\n `self._queryset_class` instead of hardcoding the queryset class. Merge of\n GH-250, fixes GH-249.\n\n* Add mixins for `SoftDeletableQuerySet` and `SoftDeletableManager`, as stated\n in the the documentation.\n\n* Fix `SoftDeletableModel.delete()` to use the correct database connection.\n Merge of GH-239.\n\n* Added boolean keyword argument `soft` to `SoftDeletableModel.delete()` that\n revert to default behavior when set to `False`. Merge of GH-240.\n\n* Enforced default manager in `StatusModel` to avoid manager order issues when\n using abstract models that redefine `objects` manager. Merge of GH-253, fixes\n GH-251.\n\n\n2.6 (2016.09.19)\n----------------\n\n* Added `SoftDeletableModel` abstract class, its manageer\n `SoftDeletableManager` and queryset `SoftDeletableQuerySet`.\n\n* Fix issue with field tracker and deferred FileField for Django 1.10.\n\n\n2.5.2 (2016.08.09)\n------------------\n\n* Include `runtests.py` in sdist.\n\n\n2.5.1 (2016.08.03)\n------------------\n\n* Fix `InheritanceQuerySet` raising an `AttributeError` exception\n under Django 1.9.\n\n* Django 1.10 support regressed with changes between pre-alpha and final\n release; 1.10 currently not supported.\n\n\n2.5 (2016.04.18)\n----------------\n\n* Drop support for Python 3.2.\n\n* Add support for Django 1.10 pre-alpha.\n\n* Track foreign keys on parent models properly when a tracker\n is defined on a child model. Fixes GH-214.\n\n\n2.4 (2015.12.03)\n----------------\n\n* Remove `PassThroughManager`. Use Django's built-in `QuerySet.as_manager()`\n and/or `Manager.from_queryset()` utilities instead.\n\n* Add support for Django 1.9.\n\n\n2.3.1 (2015-07-20)\n------------------\n\n* Remove all translation-related automation in `setup.py`. Fixes GH-178 and\n GH-179. Thanks Joe Weiss, Matt Molyneaux, and others for the reports.\n\n\n2.3 (2015.07.17)\n----------------\n\n* Keep track of deferred fields on model instance instead of on\n FieldInstanceTracker instance. Fixes accessing deferred fields for multiple\n instances of a model from the same queryset. Thanks Bram Boogaard. Merge of\n GH-151.\n\n* Fix Django 1.7 migrations compatibility for SplitField. Thanks ad-m. Merge of\n GH-157; fixes GH-156.\n\n* Add German translations.\n\n* Django 1.8 compatibility.\n\n\n2.2 (2014.07.31)\n----------------\n\n* Revert GH-130, restoring ability to access ``FieldTracker`` changes in\n overridden ``save`` methods or ``post_save`` handlers. This reopens GH-83\n (inability to pickle models with ``FieldTracker``) until a solution can be\n found that doesn't break behavior otherwise. Thanks Brian May for the\n report. Fixes GH-143.\n\n\n2.1.1 (2014.07.28)\n------------------\n\n* ASCII-fold all non-ASCII characters in changelog; again. Argh. Apologies to\n those whose names are mangled by this change. It seems that distutils makes\n it impossible to handle non-ASCII content reliably under Python 3 in a\n setup.py long_description, when the system encoding may be ASCII. Thanks\n Brian May for the report. Fixes GH-141.\n\n\n2.1.0 (2014.07.25)\n------------------\n\n* Add support for Django's built-in migrations to ``MonitorField`` and\n ``StatusField``.\n\n* ``PassThroughManager`` now has support for seeing exposed methods via\n ``dir``, allowing `IPython`_ tab completion to be useful. Merge of GH-104,\n fixes GH-55.\n\n* Add pickle support for models using ``FieldTracker``. Thanks Ondrej Slintak\n for the report. Thanks Matthew Schinckel for the fix. Merge of GH-130,\n fixes GH-83.\n\n.. _IPython: http://ipython.org/\n\n\n2.0.3 (2014.03.19)\n-------------------\n\n* Fix ``get_query_set`` vs ``get_queryset`` in ``PassThroughManager`` for\n Django <1.6. Fixes issues with related managers not filtering by relation\n properly. Thanks whop, Bojan Mihelac, Daniel Shapiro, and Matthew Schinckel\n for the report; Matthew for the fix. Merge of GH-121.\n\n* Fix ``FieldTracker`` with deferred model attributes. Thanks Michael van\n Tellingen. Merge of GH-115.\n\n* Fix ``InheritanceManager`` with self-referential FK; avoid infinite\n recursion. Thanks rsenkbeil. Merge of GH-114.\n\n2.0.2 (2014.02.19)\n-------------------\n\n* ASCII-fold all non-ASCII characters in changelog. Apologies to those whose\n names are mangled by this change. It seems that distutils makes it impossible\n to handle non-ASCII content reliably under Python 3 in a setup.py\n long_description, when the system encoding may be ASCII. Thanks Simone Dalla\n for the report. Fixes GH-113.\n\n\n2.0.1 (2014.02.11)\n-------------------\n\n* Fix dependency to be on \"Django\" rather than \"django\", which plays better\n with static PyPI mirrors. Thanks Travis Swicegood.\n\n* Fix issue with attempt to access ``__slots__`` when copying\n ``PassThroughManager``. Thanks Patryk Zawadzki. Merge of GH-105.\n\n* Improve ``InheritanceManager`` so any attributes added by using extra(select)\n will be propagated onto children. Thanks Curtis Maloney. Merge of GH-101,\n fixes GH-34.\n\n* Added ``InheritanceManagerMixin``, ``InheritanceQuerySetMixin``,\n ``PassThroughManagerMixin``, and ``QueryManagerMixin`` to allow composing\n their functionality with other custom manager/queryset subclasses (e.g. those\n in GeoDjango). Thanks Douglas Meehan!\n\n\n2.0 (2014.01.06)\n----------------\n\n* BACKWARDS-INCOMPATIBLE: Indexing into a ``Choices`` instance now translates\n database representations to human-readable choice names, rather than simply\n indexing into an array of choice tuples. (Indexing into ``Choices`` was\n previously not documented.) If you have code that is relying on indexing or\n slicing ``Choices``, the simplest workaround is to change e.g. ``STATUS[1:]``\n to ``list(STATUS)[1:]``.\n\n* Fixed bug with checking for field name conflicts for added query managers on\n `StatusModel`.\n\n* Can pass `choices_name` to `StatusField` to use a different name for\n choices class attribute. ``STATUS`` is used by default.\n\n* Can pass model subclasses, rather than strings, into\n `select_subclasses()`. Thanks Keryn Knight. Merge of GH-79.\n\n* Deepcopying a `Choices` instance no longer fails with infinite recursion in\n `getattr`. Thanks Leden. Merge of GH-75.\n\n* `get_subclass()` method is now available on both managers and\n querysets. Thanks Travis Swicegood. Merge of GH-82.\n\n* Fix bug in `InheritanceManager` with grandchild classes on Django 1.6+;\n `select_subclasses('child', 'child__grandchild')` would only ever get to the\n child class. Thanks Keryn Knight for report and proposed fix.\n\n* MonitorField now accepts a 'when' parameter. It will update only when the field\n changes to one of the values specified.\n\n\n1.5.0 (2013.08.29)\n------------------\n\n* `Choices` now accepts option-groupings. Fixes GH-14.\n\n* `Choices` can now be added to other `Choices` or to any iterable, and can be\n compared for equality with itself. Thanks Tony Aldridge. (Merge of GH-76.)\n\n* `Choices` now `__contains__` its Python identifier values. Thanks Keryn\n Knight. (Merge of GH-69).\n\n* Fixed a bug causing ``KeyError`` when saving with the parameter\n ``update_fields`` in which there are untracked fields. Thanks Mikhail\n Silonov. (Merge of GH-70, fixes GH-71).\n\n* Fixed ``FieldTracker`` usage on inherited models. Fixes GH-57.\n\n* Added mutable field support to ``FieldTracker`` (Merge of GH-73, fixes GH-74)\n\n\n1.4.0 (2013.06.03)\n------------------\n\n- Introduced ``FieldTracker`` as replacement for ``ModelTracker``, which is now\n deprecated.\n\n- ``PassThroughManager.for_queryset_class()`` no longer ignores superclass\n ``get_query_set``. Thanks Andy Freeland.\n\n- Fixed ``InheritanceManager`` bug with grandchildren in Django 1.6. Thanks\n CrazyCasta.\n\n- Fixed lack of ``get_FOO_display`` method for ``StatusField``. Fixes GH-41.\n\n\n1.3.1 (2013.04.11)\n------------------\n\n- Added explicit default to ``BooleanField`` in tests, for Django trunk\n compatibility.\n\n- Fixed intermittent ``StatusField`` bug. Fixes GH-29.\n\n- Added Python 3 support.\n\n- Dropped support for Django 1.2 and 1.3. Django 1.4.2+ required.\n\n\n1.3.0 (2013.03.27)\n------------------\n\n- Allow specifying default value for a ``StatusField``. Thanks Felipe\n Prenholato.\n\n- Fix calling ``create()`` on a ``RelatedManager`` that subclasses a dynamic\n ``PassThroughManager``. Thanks SeiryuZ for the report. Fixes GH-24.\n\n- Add workaround for https://code.djangoproject.com/ticket/16855 in\n InheritanceQuerySet to avoid overriding prior calls to\n ``select_related()``. Thanks ivirabyan.\n\n- Added support for arbitrary levels of model inheritance in\n InheritanceManager. Thanks ivirabyan. (This feature only works in Django\n 1.6+ due to https://code.djangoproject.com/ticket/16572).\n\n- Added ``ModelTracker`` for tracking field changes between model saves. Thanks\n Trey Hunner.\n\n\n1.2.0 (2013.01.27)\n------------------\n\n- Moved primary development from `Bitbucket`_ to `GitHub`_. Bitbucket mirror\n will continue to receive updates; Bitbucket issue tracker will be closed once\n all issues tracked in it are resolved.\n\n.. _BitBucket: https://bitbucket.org/carljm/django-model-utils/overview\n.. _GitHub: https://github.com/carljm/django-model-utils/\n\n- Removed deprecated ``ChoiceEnum``, ``InheritanceCastModel``,\n ``InheritanceCastManager``, and ``manager_from``.\n\n- Fixed pickling of ``PassThroughManager``. Thanks Rinat Shigapov.\n\n- Set ``use_for_related_fields = True`` on ``QueryManager``.\n\n- Added ``__len__`` method to ``Choices``. Thanks Ryan Kaskel and James Oakley.\n\n- Fixed ``InheritanceQuerySet`` on Django 1.5. Thanks Javier Garcia Sogo.\n\n1.1.0 (2012.04.13)\n------------------\n\n- Updated AutoCreatedField, AutoLastModifiedField, MonitorField, and\n TimeFramedModel to use ``django.utils.timezone.now`` on Django 1.4.\n Thanks Donald Stufft.\n\n- Fixed annotation of InheritanceQuerysets. Thanks Jeff Elmore and Facundo\n Gaich.\n\n- Dropped support for Python 2.5 and Django 1.1. Both are no longer supported\n even for security fixes, and should not be used.\n\n- Added ``PassThroughManager.for_queryset_class()``, which fixes use of\n ``PassThroughManager`` with related fields. Thanks Ryan Kaskel for report and\n fix.\n\n- Added ``InheritanceManager.get_subclass()``. Thanks smacker.\n\n1.0.0 (2011.06.16)\n------------------\n\n- Fixed using SplitField on an abstract base model.\n\n- Fixed issue #8, adding ``use_for_related_fields = True`` to\n ``InheritanceManager``.\n\n- Added ``PassThroughManager``. Thanks Paul McLanahan.\n\n- Added pending-deprecation warnings for ``InheritanceCastModel``,\n ``manager_from``, and Django 1.1 support. Removed documentation for the\n deprecated utilities. Bumped ``ChoiceEnum`` from pending-deprecation to\n deprecation.\n\n- Fixed issue #6, bug with InheritanceManager and descriptor fields (e.g.\n FileField). Thanks zyegfryed for the fix and sayane for tests.\n\n0.6.0 (2011.02.18)\n------------------\n\n- updated SplitField to define get_prep_value rather than get_db_prep_value.\n This avoids deprecation warnings on Django trunk/1.3, but makes SplitField\n incompatible with Django versions prior to 1.2.\n\n- added InheritanceManager, a better approach to selecting subclass instances\n for Django 1.2+. Thanks Jeff Elmore.\n\n- added InheritanceCastManager and InheritanceCastQuerySet, to allow bulk\n casting of a queryset to child types. Thanks Gregor Muellegger.\n\n0.5.0 (2010.09.24)\n------------------\n\n- added manager_from (thanks George Sakkis)\n- added StatusField, MonitorField, TimeFramedModel, and StatusModel\n (thanks Jannis Leidel)\n- deprecated ChoiceEnum and replaced with Choices\n\n0.4.0 (2010.03.16)\n------------------\n\n- added SplitField\n- added ChoiceEnum\n- added South support for custom model fields\n\n0.3.0\n-----\n\n* Added ``QueryManager``", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jazzband/django-model-utils/", "keywords": "", "license": "BSD", "maintainer": "JazzBand", "maintainer_email": "", "name": "django-model-utils", "package_url": "https://pypi.org/project/django-model-utils/", "platform": "", "project_url": "https://pypi.org/project/django-model-utils/", "project_urls": { "Homepage": "https://github.com/jazzband/django-model-utils/" }, "release_url": "https://pypi.org/project/django-model-utils/3.2.0/", "requires_dist": null, "requires_python": "", "summary": "Django model mixins and utilities", "version": "3.2.0" }, "last_serial": 5441484, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "443c5fb60f3b404bd8343257c52faa23", "sha256": "bb58c9f79a185a76825b7c6872355874dc516df3ac1020bcdbcc3216db8f6521" }, "downloads": -1, "filename": "django-model-utils-0.1.0.tar.gz", "has_sig": false, "md5_digest": "443c5fb60f3b404bd8343257c52faa23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4150, "upload_time": "2009-07-02T20:14:47", "url": "https://files.pythonhosted.org/packages/70/46/a9e10ae795ebfc37bb97f352764ee8be76e2f003774bc2782acc7d1984ca/django-model-utils-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "61c340ae8140cb076b0b816c197a9404", "sha256": "dfa57fcfb7796e52991538c6a5892fdccd8db066d2a073461d869cc931971af1" }, "downloads": -1, "filename": "django-model-utils-0.2.0.tar.gz", "has_sig": false, "md5_digest": "61c340ae8140cb076b0b816c197a9404", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4731, "upload_time": "2009-07-02T22:15:26", "url": "https://files.pythonhosted.org/packages/cd/e0/ab4ff8bc2abc739544223f50dd51ebb19c7e435ade7d385a9827d500c322/django-model-utils-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "88f3e58ce5f06d3fe4b60b675ba5d571", "sha256": "52a28406ccb31512fcf206a6371c76f65e2dbace757c298d014d24ec7eb18dcc" }, "downloads": -1, "filename": "django-model-utils-0.3.0.tar.gz", "has_sig": true, "md5_digest": "88f3e58ce5f06d3fe4b60b675ba5d571", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5623, "upload_time": "2009-07-30T23:13:37", "url": "https://files.pythonhosted.org/packages/38/b0/92e8cbf9d9b2bd0fd6d08eb2abca37603f589d55ea62b8f9342279ec723f/django-model-utils-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "628d11f9221d1c6262171e75343e06ec", "sha256": "dbf6bbaa44b54e6cc0816e647abbc72dde068aae4e5c4bef6b41a61c9abc7a02" }, "downloads": -1, "filename": "django-model-utils-0.3.1.tar.gz", "has_sig": true, "md5_digest": "628d11f9221d1c6262171e75343e06ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5615, "upload_time": "2009-10-26T22:57:18", "url": "https://files.pythonhosted.org/packages/b8/f1/5dc795ab13b75f2ffdc276c5392ad38504a999adfbdb343ce19f87651454/django-model-utils-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "267fd742a24d847bd75beba068e6c5df", "sha256": "ac5f3730b6a94b6fc693b783fcd87892b5aabf2a107170ab07a6d5063cdeac9e" }, "downloads": -1, "filename": "django-model-utils-0.4.0.tar.gz", "has_sig": true, "md5_digest": "267fd742a24d847bd75beba068e6c5df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12525, "upload_time": "2010-03-16T22:56:19", "url": "https://files.pythonhosted.org/packages/c5/ff/c17da1dc9c78669936ad53aa8f792f9960da0835a7f197e3ad278c2ee590/django-model-utils-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "c6c5e2d76079d8a0ea6da0fa84eb514e", "sha256": "c047b313b662951b7fc4a639572967fd8a4805d4a3842638ec0a0750c0d2c7d4" }, "downloads": -1, "filename": "django-model-utils-0.5.0.tar.gz", "has_sig": true, "md5_digest": "c6c5e2d76079d8a0ea6da0fa84eb514e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19928, "upload_time": "2010-09-24T16:34:49", "url": "https://files.pythonhosted.org/packages/35/77/8dd1e3854ea0ef0cdb0897f7f8646ed033385ca66468f3c7a4e7df3ecdf1/django-model-utils-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "31f2d1d183f82d92974b3b57198f346a", "sha256": "ce64a06693f5c148c896cb208a3b6bf44af68cf9f0a0e3932f32187b3bd1424e" }, "downloads": -1, "filename": "django-model-utils-0.6.0.tar.gz", "has_sig": false, "md5_digest": "31f2d1d183f82d92974b3b57198f346a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22883, "upload_time": "2011-02-18T22:50:04", "url": "https://files.pythonhosted.org/packages/2b/f5/ab5bcf6ebbdf194f9b677d158bc1233d0710ddb7ac7726c300ba8f7e70c7/django-model-utils-0.6.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b4fb5a0fee9afd6248138e554fc828b5", "sha256": "d97e53b9ce6a8e36d5da3fbfabbd0cdee7bd63fc9807b8e0140e0dae8e2f2b0b" }, "downloads": -1, "filename": "django-model-utils-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b4fb5a0fee9afd6248138e554fc828b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24846, "upload_time": "2011-06-16T23:24:08", "url": "https://files.pythonhosted.org/packages/86/14/eb4203b3f8677ca7ee707e143859dbe4e1da243d501944889907c6a172c4/django-model-utils-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "46c762ab83b93180b587168b2916fa7e", "sha256": "d7b08e275082c7dbc7b9071864a25721f5b813b836a99a7ba763ab59369d52e3" }, "downloads": -1, "filename": "django-model-utils-1.1.0.tar.gz", "has_sig": false, "md5_digest": "46c762ab83b93180b587168b2916fa7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25982, "upload_time": "2012-04-14T01:36:12", "url": "https://files.pythonhosted.org/packages/e9/82/ca10f47a3ff8064ea244ad18b7342860c59a88206b19350e4d983fbeb52b/django-model-utils-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "9dc2aa0c84e9c55ad961f31727980345", "sha256": "9107be48f443b162566139e19021ff1441f22c3f521527964eac6f41fcb93e0b" }, "downloads": -1, "filename": "django-model-utils-1.2.0.tar.gz", "has_sig": false, "md5_digest": "9dc2aa0c84e9c55ad961f31727980345", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19661, "upload_time": "2013-01-27T23:16:19", "url": "https://files.pythonhosted.org/packages/a7/06/03fc2c23b1554bceca888e9faf882dc334766fa88925c392887628a93c16/django-model-utils-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "47ccecbc115284db23a585068964e7c2", "sha256": "1af9e3864f8c00fd0eb46670ae4e168f75e539de513e5288b2228bb56c1f9922" }, "downloads": -1, "filename": "django-model-utils-1.3.0.tar.gz", "has_sig": true, "md5_digest": "47ccecbc115284db23a585068964e7c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28694, "upload_time": "2013-03-28T03:01:42", "url": "https://files.pythonhosted.org/packages/43/0d/60eb102189fc75ed8ae1613bb32b837a5bba458c7f8766703e97c3d6f89f/django-model-utils-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "4b71e93b96113fce4f5e13e8c36e9fe5", "sha256": "dbd0582ae749521d857746816ff1216b264dfc338bbd4aa215023b95b2586bf6" }, "downloads": -1, "filename": "django-model-utils-1.3.1.tar.gz", "has_sig": true, "md5_digest": "4b71e93b96113fce4f5e13e8c36e9fe5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29005, "upload_time": "2013-04-12T03:37:19", "url": "https://files.pythonhosted.org/packages/e9/02/c31f2003226ab69f6d71c502f3a81e68188b2bf2b69f37e15932ef7e5189/django-model-utils-1.3.1.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "35fb803398e89c21cb3555e45ec2aa77", "sha256": "93ebfb497391b1a236c6f93f192bd99cdd58cebfe3ab970cbf80d6e7b59e8cae" }, "downloads": -1, "filename": "django-model-utils-1.4.0.tar.gz", "has_sig": true, "md5_digest": "35fb803398e89c21cb3555e45ec2aa77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32330, "upload_time": "2013-06-03T20:26:32", "url": "https://files.pythonhosted.org/packages/91/2e/886022bbe568cd66d2dc8194fc5bfadb53c3f4dfb02d3c82ec85e267adf7/django-model-utils-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "ca6fc8169048502724e1dfc12e0771c8", "sha256": "e0bdc7be887f131c6746241e379e91409fdb305d1580e6a15c85d72d452c61d5" }, "downloads": -1, "filename": "django-model-utils-1.5.0.tar.gz", "has_sig": true, "md5_digest": "ca6fc8169048502724e1dfc12e0771c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23726, "upload_time": "2013-08-30T04:28:01", "url": "https://files.pythonhosted.org/packages/96/aa/33dd3537a2e34a133c3a2e1cfa774963e0d872bbbad3f78b637efd2da50a/django-model-utils-1.5.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "2394029ec74eb44a24621a58010b28b8", "sha256": "6d100e124e33a90544461c3a6b9bfafb66fe9367d5c40a2c99ddc7ed653ca6b6" }, "downloads": -1, "filename": "django-model-utils-2.0.tar.gz", "has_sig": true, "md5_digest": "2394029ec74eb44a24621a58010b28b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28118, "upload_time": "2014-01-07T01:23:26", "url": "https://files.pythonhosted.org/packages/8a/14/65361ebddb03295e2e740b219d30c86db02fad5ed472afeb5d1cd04f3df9/django-model-utils-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "46d2cdf5d31adde593be35967b54fdbb", "sha256": "65c940c4f26de9aacbf8a6a7024a0d7e58401d68a9e48e1420244eb10c32c990" }, "downloads": -1, "filename": "django-model-utils-2.0.1.tar.gz", "has_sig": true, "md5_digest": "46d2cdf5d31adde593be35967b54fdbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28995, "upload_time": "2014-02-11T22:00:36", "url": "https://files.pythonhosted.org/packages/e3/1d/ca4582ed0bec4a9cc1ca25774003c8db1b35e470f1faf2853a76918f82c3/django-model-utils-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "70a6dbee2b60f9cd5ada874f50f1e7ba", "sha256": "bf9a8e17d0db3ca96b321736ba812994195287e65d81269c8f03069413f40cd2" }, "downloads": -1, "filename": "django-model-utils-2.0.2.tar.gz", "has_sig": true, "md5_digest": "70a6dbee2b60f9cd5ada874f50f1e7ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29348, "upload_time": "2014-02-19T21:00:54", "url": "https://files.pythonhosted.org/packages/eb/91/9d19db207e2d63092e4805086c870b79f0ccf3d5072984b8e3d7caebd1de/django-model-utils-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "585c72785cf7c7f735ed5d0367c209c5", "sha256": "fae8d517590d99730ed3cfc3fdf9378e0b3815325a8911b963241ee8e9761fd7" }, "downloads": -1, "filename": "django_model_utils-2.0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "585c72785cf7c7f735ed5d0367c209c5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 31683, "upload_time": "2014-03-20T04:46:27", "url": "https://files.pythonhosted.org/packages/c4/18/289d6a812c566d3fe6b89f7452079ef804b7c68e109e130c5c40de08498b/django_model_utils-2.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e760e8e6f8fbc53a916ea9826495afb0", "sha256": "56513c17eb0ee004b9cb0200abb9b8a49f91e75f913549f3ae203b2faf2943ea" }, "downloads": -1, "filename": "django-model-utils-2.0.3.tar.gz", "has_sig": true, "md5_digest": "e760e8e6f8fbc53a916ea9826495afb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28655, "upload_time": "2014-03-20T04:45:45", "url": "https://files.pythonhosted.org/packages/5e/f0/45bd9410cdc09f2e685aac1758c2737a15b397601caff5de50bd4069d098/django-model-utils-2.0.3.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "6c10b0f1a81a1f6e33c139a344989baf", "sha256": "c1339f7d61775c874fe56a5baba07706067c493d670cd8bcebb854ba3c4e17ba" }, "downloads": -1, "filename": "django-model-utils-2.1.0.tar.gz", "has_sig": true, "md5_digest": "6c10b0f1a81a1f6e33c139a344989baf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31441, "upload_time": "2014-07-25T15:56:32", "url": "https://files.pythonhosted.org/packages/af/df/6d8000ba5da5271072c08c6d6751e3d03822b034ddca9e96adc63796f38e/django-model-utils-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "dda3542ce14a62b37d706e483cc4866a", "sha256": "1de8cdd8530b1f3d66f663224359e215efa10d2b1c5f091a0c4928dd0bd62898" }, "downloads": -1, "filename": "django-model-utils-2.1.1.tar.gz", "has_sig": true, "md5_digest": "dda3542ce14a62b37d706e483cc4866a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31586, "upload_time": "2014-07-28T16:05:33", "url": "https://files.pythonhosted.org/packages/dc/0d/0883b1dda29d48d2fafb5b37107028ddbe36bcb5e47a8042cd311a72feaa/django-model-utils-2.1.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "c81cb247d00a1afc89ab50475fea47ab", "sha256": "71ec8fc223521df60b855c214b97a965dfb379ca539905f24c975dff3f8452ce" }, "downloads": -1, "filename": "django-model-utils-2.2.tar.gz", "has_sig": true, "md5_digest": "c81cb247d00a1afc89ab50475fea47ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30034, "upload_time": "2014-08-01T00:27:09", "url": "https://files.pythonhosted.org/packages/7e/48/6c294c5a913c9aa1f4338cb41f597e9c9d58a0439c66479a04434f6282f3/django-model-utils-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "1ee18aef1c399ca85cc01c7192d2e03e", "sha256": "635470b5dc5022cbdda62d3df50a38985bbb5729cc2cc88fd043193f107aa64e" }, "downloads": -1, "filename": "django-model-utils-2.3.tar.gz", "has_sig": true, "md5_digest": "1ee18aef1c399ca85cc01c7192d2e03e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33236, "upload_time": "2015-07-17T19:00:35", "url": "https://files.pythonhosted.org/packages/7b/63/5ae5d3c1dad8755528aa5f962506c094f5314531a32cb77dcffc3a5ccfa0/django-model-utils-2.3.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "d75660754fe4aee119f0892017058b51", "sha256": "825f3dc84a6503ee2bb1668d5056f6cd14722293c50bbab3ca375db1c5eea206" }, "downloads": -1, "filename": "django-model-utils-2.3.1.tar.gz", "has_sig": true, "md5_digest": "d75660754fe4aee119f0892017058b51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33328, "upload_time": "2015-07-20T16:31:13", "url": "https://files.pythonhosted.org/packages/6a/e2/19acf877870503a3bfaba422ad9a733b0ddefec749fc9f6b56ade71d64bf/django-model-utils-2.3.1.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "6bef27d0ef53a2132b86825921c3b0da", "sha256": "26795b12c85044073438d78d6efbb0071ebe1ebf7be2c185f2f0ba25ac446464" }, "downloads": -1, "filename": "django-model-utils-2.4.tar.gz", "has_sig": true, "md5_digest": "6bef27d0ef53a2132b86825921c3b0da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31811, "upload_time": "2015-12-02T17:45:50", "url": "https://files.pythonhosted.org/packages/73/c5/8bc5dd97d02995aa8bcf8e1f8e959f57a53c486b790b985d11d4e53f0e6a/django-model-utils-2.4.tar.gz" } ], "2.5": [ { "comment_text": "", "digests": { "md5": "242c70f4e042dd82b860c8bd14d5a7a0", "sha256": "373c90af09a324c736d74a7ba0c7c43df66d08a3ffd9a0dc63343ffcefd0001e" }, "downloads": -1, "filename": "django-model-utils-2.5.tar.gz", "has_sig": true, "md5_digest": "242c70f4e042dd82b860c8bd14d5a7a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32031, "upload_time": "2016-04-18T21:03:15", "url": "https://files.pythonhosted.org/packages/81/ff/c0106b1754fdb4253d35eb124af74c033f938c0b8e134e4284a058d9a7a7/django-model-utils-2.5.tar.gz" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "f8a45937a855aafca2d3b3b29363734e", "sha256": "24cc89f3ba418ddd3815797dd40bfc834d969fea8613e576fc9209be2e3cb416" }, "downloads": -1, "filename": "django-model-utils-2.5.1.tar.gz", "has_sig": true, "md5_digest": "f8a45937a855aafca2d3b3b29363734e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31090, "upload_time": "2016-08-03T14:41:14", "url": "https://files.pythonhosted.org/packages/2d/76/499ccc8f757fa58b53c28cd315646782dfc670b21e8adc2701e6dbfaa47b/django-model-utils-2.5.1.tar.gz" } ], "2.5.2": [ { "comment_text": "", "digests": { "md5": "fadced37f6d46d88f41f3a90684bc37d", "sha256": "d12ff2fc6d44a55761c5ed1573cbb44d587ee6f879a17e435b613959c8842b8d" }, "downloads": -1, "filename": "django-model-utils-2.5.2.tar.gz", "has_sig": true, "md5_digest": "fadced37f6d46d88f41f3a90684bc37d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31674, "upload_time": "2016-08-09T21:08:34", "url": "https://files.pythonhosted.org/packages/8b/98/04429d35fc040e840284d01230be41b15593472795f35b78ea5e135d0c27/django-model-utils-2.5.2.tar.gz" } ], "2.6": [ { "comment_text": "", "digests": { "md5": "b3a80cea6dca853ff42cd9547954b1f2", "sha256": "1587729b129b3b0802c80243312cd9dfd90aa3cee290f7335ea4c2e429488f61" }, "downloads": -1, "filename": "django-model-utils-2.6.tar.gz", "has_sig": false, "md5_digest": "b3a80cea6dca853ff42cd9547954b1f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33092, "upload_time": "2016-09-19T14:04:48", "url": "https://files.pythonhosted.org/packages/ae/6a/753e6fb589bc3b5ff0c37118a6594b3d23884409b88bd6420c6142f06677/django-model-utils-2.6.tar.gz" } ], "2.6.1": [ { "comment_text": "", "digests": { "md5": "df9105f2620facd1e4cef5c352402bee", "sha256": "92e2ea87147447935800cbc21d79ccf678298166e345c794340d6b0e7a3307e7" }, "downloads": -1, "filename": "django-model-utils-2.6.1.tar.gz", "has_sig": true, "md5_digest": "df9105f2620facd1e4cef5c352402bee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36264, "upload_time": "2017-01-11T23:38:09", "url": "https://files.pythonhosted.org/packages/ae/62/8d798e798fcb21d0fde92ece9bd6fd099330e21529deb17e5b349da146d7/django-model-utils-2.6.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "e08045663468db5a4519d2d73c6250de", "sha256": "60ead1ba50e1353f38bde12ab8b4a80b6a0f825a8e53c348fe259548cbd1a312" }, "downloads": -1, "filename": "django-model-utils-3.0.0.tar.gz", "has_sig": true, "md5_digest": "e08045663468db5a4519d2d73c6250de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22987, "upload_time": "2017-04-13T23:50:59", "url": "https://files.pythonhosted.org/packages/78/09/b96cb191b0e793c7f6284e9630bda3df8830b44dca18a65d5d0fdf094259/django-model-utils-3.0.0.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "f2c7b0c0977ca8fdd53bb564d6294ae1", "sha256": "22c0be54fd17518d70a0e2544b440a71a4d4fff5758406a61c00bf3d256ecf6b" }, "downloads": -1, "filename": "django_model_utils-3.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f2c7b0c0977ca8fdd53bb564d6294ae1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24933, "upload_time": "2018-01-10T10:02:31", "url": "https://files.pythonhosted.org/packages/5d/f0/536971ca51e496111971f98802b537ff66d0bf7c3e730288ee4f5193d49d/django_model_utils-3.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33da5227bdb8b3159a0c9e6819a79f0b", "sha256": "b81022423c3c532f32be612f0c15d0ec750cfd21e8ec0bd1e6045351f67a851c" }, "downloads": -1, "filename": "django-model-utils-3.1.0.tar.gz", "has_sig": false, "md5_digest": "33da5227bdb8b3159a0c9e6819a79f0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24774, "upload_time": "2018-01-10T10:02:33", "url": "https://files.pythonhosted.org/packages/54/d0/c0b83ad9c1ff04c248fd2e9c488484f0ff735dd43c2cc1c533f59d32ec00/django-model-utils-3.1.0.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "10048c9e66cc682ba007125bf4eb51cc", "sha256": "4356fad5f6fc9910da865fbf9371f9c2e028606dff2bbd8e32e67569260e530d" }, "downloads": -1, "filename": "django_model_utils-3.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10048c9e66cc682ba007125bf4eb51cc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24920, "upload_time": "2018-01-10T10:03:09", "url": "https://files.pythonhosted.org/packages/5b/8b/da7377a4698aba82a2a127ec1f143127befc289cd062f8660bc7f31686f9/django_model_utils-3.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13f74d4f1fb7b061d73e012a60017e00", "sha256": "a9baa7de943b4e8afa61728ce8c42ce99e88cc87d40e74df2b060a78d22c0f5c" }, "downloads": -1, "filename": "django-model-utils-3.1.1.tar.gz", "has_sig": false, "md5_digest": "13f74d4f1fb7b061d73e012a60017e00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24787, "upload_time": "2018-01-10T10:03:18", "url": "https://files.pythonhosted.org/packages/8e/89/781abc16efcf26cf0baeef2ef1e524e448147eb4ebd515d1312acceead04/django-model-utils-3.1.1.tar.gz" } ], "3.1.2": [ { "comment_text": "", "digests": { "md5": "712062d147e35a9c14c7e005907ab8c1", "sha256": "8cd377744aa45f9f131d652ec460c57d1aaa88d3e9b586c8e27eb709341b9084" }, "downloads": -1, "filename": "django_model_utils-3.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "712062d147e35a9c14c7e005907ab8c1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18995, "upload_time": "2018-05-09T20:56:18", "url": "https://files.pythonhosted.org/packages/d1/92/8a6b15368bb407f0a2e716bf603e73c843af782b98e68f23c19697742f8a/django_model_utils-3.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72acc00c31bc6bb63e4c5a7ad80561eb", "sha256": "2c057f3bf0859aba27f04389f0cedd2d48f8c9b3848acb86fd9970794e58f477" }, "downloads": -1, "filename": "django-model-utils-3.1.2.tar.gz", "has_sig": false, "md5_digest": "72acc00c31bc6bb63e4c5a7ad80561eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24688, "upload_time": "2018-05-09T20:55:14", "url": "https://files.pythonhosted.org/packages/fc/67/42c8e6240ca7eec0f242cd6ea12598f7f212bafef6b40f0e8b0783617200/django-model-utils-3.1.2.tar.gz" } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "8caa9e0a56ac380f78c422b19908451b", "sha256": "3f130a262e45d73e0950d2be76af4bf4ee86804dd60e5f90afc5cd948fcfe760" }, "downloads": -1, "filename": "django_model_utils-3.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8caa9e0a56ac380f78c422b19908451b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28890, "upload_time": "2019-06-24T16:28:39", "url": "https://files.pythonhosted.org/packages/7e/ed/c8d4654bce5859766c989ca0cc3dc439d3abd00f5b1c6ef4d80b0a5f2871/django_model_utils-3.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bae8bd71f5eb13ef604943c77da5b5f", "sha256": "682f58c1de330cedcda58cc85d5232c5b47a9e2cb67bef4541fb43fdaeb18e96" }, "downloads": -1, "filename": "django-model-utils-3.2.0.tar.gz", "has_sig": false, "md5_digest": "0bae8bd71f5eb13ef604943c77da5b5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53700, "upload_time": "2019-06-24T16:28:20", "url": "https://files.pythonhosted.org/packages/35/ab/2d4fecd8a717ea8facbad40ea6b1d8866aca21e0e38187cb242172b79589/django-model-utils-3.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8caa9e0a56ac380f78c422b19908451b", "sha256": "3f130a262e45d73e0950d2be76af4bf4ee86804dd60e5f90afc5cd948fcfe760" }, "downloads": -1, "filename": "django_model_utils-3.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8caa9e0a56ac380f78c422b19908451b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28890, "upload_time": "2019-06-24T16:28:39", "url": "https://files.pythonhosted.org/packages/7e/ed/c8d4654bce5859766c989ca0cc3dc439d3abd00f5b1c6ef4d80b0a5f2871/django_model_utils-3.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bae8bd71f5eb13ef604943c77da5b5f", "sha256": "682f58c1de330cedcda58cc85d5232c5b47a9e2cb67bef4541fb43fdaeb18e96" }, "downloads": -1, "filename": "django-model-utils-3.2.0.tar.gz", "has_sig": false, "md5_digest": "0bae8bd71f5eb13ef604943c77da5b5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53700, "upload_time": "2019-06-24T16:28:20", "url": "https://files.pythonhosted.org/packages/35/ab/2d4fecd8a717ea8facbad40ea6b1d8866aca21e0e38187cb242172b79589/django-model-utils-3.2.0.tar.gz" } ] }