{ "info": { "author": "David Danier", "author_email": "david.danier@team23.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "ABOUT\n=====\n\ndjango_deferred_polymorph is an implementation of polymorphic models for Django. Like other solutions you can just fetch the base instance from your database and get the right subclass back. This means you always can rely on having all data/methods your child class would provide.\n\nUnlike other solutions additional data is loaded by using a slightly modified version of Django's own deferered mechanisms. This way getting the base classes issues only one SQL query, returning the subclasses with all additional data as defered field. If you attempt to access one of the deferred fields all deferred fields are loaded (unlike for Django's default deferred fields).\n\ndjango_deferred_polymorph includes two abstract base models:\n\n * DeferredPolymorphBaseModel as the base for every deferred model\n * SubDeferredPolymorphBaseModel which extends DeferredPolymorphBaseModel to force userd to use a subclass\n\nInstallation\n============\n\nFirst::\n\n pip install django_deferred_polymorph\n\nThen add ``'django_deferred_polymorph'`` to your ``INSTALLED_APPS`` settings.\n\nRunning tests\n=============\n\nFirst create a `virtualenv`_, then install package inside the virtualenv and\nadd the test dependencies with::\n\n python setup.py develop\n pip install -r requirements.txt\n\nNow you can run the test suite against the currently installed version of\nDjango with::\n\n python runtests.py\n\nHowever we support multiple versions of Django and Python. To test all\nrelevant combinations at once you can use the following command::\n\n tox\n\n.. _virtualenv: https://virtualenv.pypa.io/en/latest/\n\n\nChangelog\n=========\n\n0.4.0\n-----\n\n* Reuse registered apps so object deletion works\n* Dropped compatibility with Django < 1.7\n\n0.3.2\n-----\n\n* Fix for Django 1.8 that did not set ``_base_manager`` correctly for\n subclasses of ``DeferredPolymorphBaseModel``. That broke the\n ``Model.delete()`` method in some cases.\n\n0.3.1\n-----\n\n* Adding MANIFEST.in file to define which files get included in the source\n distribution. CHANGES.rst was missing from that and caused an error on\n install.\n\n0.3.0\n-----\n\n* Dropping support for Django 1.5.x and lower as we had to adept to Django's\n naming scheme for ``get_queryset`` instead of ``get_query_set`` in managers.\n* Fix for Django 1.8 which uses unicode for model names in the Meta._meta\n object. That broke the dynamic class creation with ``type()``.\n\n0.2.0\n-----\n\n* Django 1.8 support.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ddanier/django_deferred_polymorph", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django_deferred_polymorph", "package_url": "https://pypi.org/project/django_deferred_polymorph/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django_deferred_polymorph/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ddanier/django_deferred_polymorph" }, "release_url": "https://pypi.org/project/django_deferred_polymorph/0.4.0/", "requires_dist": null, "requires_python": null, "summary": "Polymorphic models based on django deferred models", "version": "0.4.0" }, "last_serial": 4304479, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "07317337e069ae362f96e5eac82bc8d3", "sha256": "1e18eb0616147476c6ddbe85c1f43608013dbf77ab47392f18cbe83866a1a12d" }, "downloads": -1, "filename": "django_deferred_polymorph-0.1.0.tar.gz", "has_sig": false, "md5_digest": "07317337e069ae362f96e5eac82bc8d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5420, "upload_time": "2012-12-08T20:53:46", "url": "https://files.pythonhosted.org/packages/65/21/103ac6dd9d8cf86bb7cbd907f473b426e5b8b0202d61684d26da7ac3d4e0/django_deferred_polymorph-0.1.0.tar.gz" } ], "0.1.0-2": [ { "comment_text": "", "digests": { "md5": "5209e42aa860dac5a8f16c3d60a19a8d", "sha256": "2a8f2780fd937609b46e3851d247f2e97ca1355b5ac8c21566d98982511baa7e" }, "downloads": -1, "filename": "django_deferred_polymorph-0.1.0-2.tar.gz", "has_sig": false, "md5_digest": "5209e42aa860dac5a8f16c3d60a19a8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5454, "upload_time": "2012-12-09T22:44:37", "url": "https://files.pythonhosted.org/packages/50/b3/ce9c636e96a2245b7656268a6e30b2ff7510c6043c582550c620b97a3d7c/django_deferred_polymorph-0.1.0-2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f382d83334288ff87f3853ffd4719f84", "sha256": "bf17fbac0240528d0fc3d7cc91d13b7de7cd2582129772d8b51e5e33c4942303" }, "downloads": -1, "filename": "django_deferred_polymorph-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f382d83334288ff87f3853ffd4719f84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6087, "upload_time": "2015-04-29T14:06:05", "url": "https://files.pythonhosted.org/packages/f0/69/0f74c3f9166ea4533e671c5e168c5425b323a278e6f93ade09a172f9a9cd/django_deferred_polymorph-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d64a1aea78f36d22f0726215e7b867b9", "sha256": "ed28e7e1e82b7e608eaaad86734fb63e364a0919e07fc8ec2c28aec5306a4396" }, "downloads": -1, "filename": "django_deferred_polymorph-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d64a1aea78f36d22f0726215e7b867b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6118, "upload_time": "2015-05-06T12:22:15", "url": "https://files.pythonhosted.org/packages/ba/7f/49f0d39f444efa518b35b09ae1d23f1085b3a0054c327ad114110b6c710e/django_deferred_polymorph-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "120b9c2f42f8441ee53ef458dc739811", "sha256": "0abc0ee9f3c9949889eebf41261792766711d91980770b7f1cafa86ba6372c69" }, "downloads": -1, "filename": "django_deferred_polymorph-0.3.0.tar.gz", "has_sig": false, "md5_digest": "120b9c2f42f8441ee53ef458dc739811", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6353, "upload_time": "2015-05-06T12:23:28", "url": "https://files.pythonhosted.org/packages/c8/5c/e4fe8ef14b24dcbde37af8db63afdd68ba83eaabf54d43a994916523b302/django_deferred_polymorph-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "22bd365a739b00d797e6d7f45e54b4e1", "sha256": "7c1dcef7baf6e10a548f20e323725a365677b23ee4bf2fc5f7bef94a6257d70f" }, "downloads": -1, "filename": "django_deferred_polymorph-0.3.1.tar.gz", "has_sig": false, "md5_digest": "22bd365a739b00d797e6d7f45e54b4e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6594, "upload_time": "2015-05-15T11:25:41", "url": "https://files.pythonhosted.org/packages/a8/4e/6c5ad6cef07c6bb15d74d0f04e7ad0b0e1fc0993549f4f55e0089c3ccdfa/django_deferred_polymorph-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "b232252ddf418ba250c43376b33badbc", "sha256": "284744750c619d5d0c3b6e6b1a0ba0b43a98b3f29da4794d73bbc90921341859" }, "downloads": -1, "filename": "django_deferred_polymorph-0.3.2.tar.gz", "has_sig": false, "md5_digest": "b232252ddf418ba250c43376b33badbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7696, "upload_time": "2015-06-16T11:38:30", "url": "https://files.pythonhosted.org/packages/1d/86/c69ac8ec56d73070fb20c85364b84963f3ec19f989b295c01413b847af99/django_deferred_polymorph-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "786d40bae05941000d17ae85c46154d4", "sha256": "5501e64f28e27461d6aa05a536beefbac68b6b58402c780be8db3630d44c892e" }, "downloads": -1, "filename": "django_deferred_polymorph-0.4.0.tar.gz", "has_sig": false, "md5_digest": "786d40bae05941000d17ae85c46154d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7724, "upload_time": "2016-04-22T16:26:37", "url": "https://files.pythonhosted.org/packages/35/3d/61e63e1eb079fd3148c9438a3c3d8458c0990cea7c87fd96fb20f63176f8/django_deferred_polymorph-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "786d40bae05941000d17ae85c46154d4", "sha256": "5501e64f28e27461d6aa05a536beefbac68b6b58402c780be8db3630d44c892e" }, "downloads": -1, "filename": "django_deferred_polymorph-0.4.0.tar.gz", "has_sig": false, "md5_digest": "786d40bae05941000d17ae85c46154d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7724, "upload_time": "2016-04-22T16:26:37", "url": "https://files.pythonhosted.org/packages/35/3d/61e63e1eb079fd3148c9438a3c3d8458c0990cea7c87fd96fb20f63176f8/django_deferred_polymorph-0.4.0.tar.gz" } ] }