{ "info": { "author": "Curtis Maloney", "author_email": "curtis@tinbrain.net", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\nDjango closure tree model.\n==========================\n\n\nAbstract base model for creating a Closure Tree using a recursive Postgres view.\n\nhttp://schinckel.net/2016/01/27/django-trees-via-closure-view/\n\nUsage\n=====\n\nInherit from the Node model:\n\n.. code-block:: python\n\n from closure_tree.models import Node\n\n\n class MyNode(Node):\n name = models.CharField(max_length=30)\n\n\nCreate migrations:\n\n.. code-block:: sh\n\n $ ./manage.py makemigrations\n\n\nAdd the CreateTreeClosure migration step:\n\n.. code-block:: sh\n\n $ ./manage.py makemigrations --empty myapp\n\n\n.. code-block:: python\n\n from closure_tree.migrations import CreateTreeClosure\n\n class Migration(migrations.Migration):\n\n dependencies = [\n ('dummy', '0001_initial'),\n ]\n\n operations = [\n CreateTreeClosure('MyNode'),\n ]\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/funkybob/closure_tree", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-closure-tree", "package_url": "https://pypi.org/project/django-closure-tree/", "platform": "", "project_url": "https://pypi.org/project/django-closure-tree/", "project_urls": { "Homepage": "https://github.com/funkybob/closure_tree" }, "release_url": "https://pypi.org/project/django-closure-tree/0.2.2/", "requires_dist": [ "django" ], "requires_python": "", "summary": "A Closure based Tree model for Django.", "version": "0.2.2" }, "last_serial": 3543760, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e190cad2e6e6a43bb1e398a527950f90", "sha256": "1605a371feb8b280f2e899034fa800c904b374888a721631d0c6438d478d8547" }, "downloads": -1, "filename": "django_closure_tree-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e190cad2e6e6a43bb1e398a527950f90", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5348, "upload_time": "2017-10-22T00:23:50", "url": "https://files.pythonhosted.org/packages/f3/c3/a4a615635554c95d5e91d56a55022e64497dc402e747ac9d70cf3620b0d4/django_closure_tree-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df626dc7943ec78fed9e713d970f3704", "sha256": "6250653a7463e953a12e07a0937edb641b190da7d8028b9bba436d6e2d6736a1" }, "downloads": -1, "filename": "django-closure-tree-0.1.0.tar.gz", "has_sig": false, "md5_digest": "df626dc7943ec78fed9e713d970f3704", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4083, "upload_time": "2017-10-22T00:23:52", "url": "https://files.pythonhosted.org/packages/5d/77/5d129a55b4b77144105b32270eecfe7714332eace8c325a8c90b6f76a377/django-closure-tree-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c0858c605d16db58a1e03b8f727b99b3", "sha256": "d0081eb9210bbeac9177a9a72078b2ed59b7e80a3cfb7780ecddb6b154e761d4" }, "downloads": -1, "filename": "django-closure-tree-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c0858c605d16db58a1e03b8f727b99b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3988, "upload_time": "2017-11-03T04:49:31", "url": "https://files.pythonhosted.org/packages/d8/e4/fe7d3eb9b2e05492f2b2a98e418fa672dc2d69c63908d4df468da2f9db3d/django-closure-tree-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5763f1572a3c239e5d2a5bd1367e5802", "sha256": "54e23303d4febac79955de959569c974c20ed5649af7c7b27e990f878b1147cc" }, "downloads": -1, "filename": "django_closure_tree-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5763f1572a3c239e5d2a5bd1367e5802", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5259, "upload_time": "2017-11-03T05:09:43", "url": "https://files.pythonhosted.org/packages/9d/95/978666be323991b5873635c106a4ed45d26c1fb8de2365a5665173e3377b/django_closure_tree-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ed5b2c85eec0fd28ef2ae8ed952b472", "sha256": "bd29fb181c6636bd4575cc159557372818225f12f7a4f9b95a63a3b64d1e3c55" }, "downloads": -1, "filename": "django-closure-tree-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2ed5b2c85eec0fd28ef2ae8ed952b472", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3993, "upload_time": "2017-11-03T05:09:44", "url": "https://files.pythonhosted.org/packages/d2/74/46e92fde744242491cb893aed7e7311c3271007be679b18742678b9a1ef8/django-closure-tree-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "fdc2a4f9cdb71a7eb8597039dd13f453", "sha256": "e26b7ee7ffa4d6dc6d6e583511973ed14a5a8bab83960dcaa0d92d4787b6d93a" }, "downloads": -1, "filename": "django_closure_tree-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fdc2a4f9cdb71a7eb8597039dd13f453", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5259, "upload_time": "2018-02-02T02:56:01", "url": "https://files.pythonhosted.org/packages/1e/42/9ec5759cf9578e9f6497d4b0811b1c1b37972012f052aa0cef18c8a91f98/django_closure_tree-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3835e730fcbc8c79cd270438bcad9b64", "sha256": "da644183a371eeefcb8a52e01353c0899daaf66206ef162505b01683f9a145a0" }, "downloads": -1, "filename": "django-closure-tree-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3835e730fcbc8c79cd270438bcad9b64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4010, "upload_time": "2018-02-02T02:56:03", "url": "https://files.pythonhosted.org/packages/d9/58/7aa3d1592666e733e9096dde4d0ce5157fbfbd618743b131d9139f58f027/django-closure-tree-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fdc2a4f9cdb71a7eb8597039dd13f453", "sha256": "e26b7ee7ffa4d6dc6d6e583511973ed14a5a8bab83960dcaa0d92d4787b6d93a" }, "downloads": -1, "filename": "django_closure_tree-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fdc2a4f9cdb71a7eb8597039dd13f453", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5259, "upload_time": "2018-02-02T02:56:01", "url": "https://files.pythonhosted.org/packages/1e/42/9ec5759cf9578e9f6497d4b0811b1c1b37972012f052aa0cef18c8a91f98/django_closure_tree-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3835e730fcbc8c79cd270438bcad9b64", "sha256": "da644183a371eeefcb8a52e01353c0899daaf66206ef162505b01683f9a145a0" }, "downloads": -1, "filename": "django-closure-tree-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3835e730fcbc8c79cd270438bcad9b64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4010, "upload_time": "2018-02-02T02:56:03", "url": "https://files.pythonhosted.org/packages/d9/58/7aa3d1592666e733e9096dde4d0ce5157fbfbd618743b131d9139f58f027/django-closure-tree-0.2.2.tar.gz" } ] }