{ "info": { "author": "Evgeniy Burdin", "author_email": "e.s.burdin@mail.ru", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "==================\ndjango-treensl\n==================\n\nDjango application for creating the tree structure in the model (very fast structure).\n\nTo create a new item in the tree need only choose a parent. The key (id) for the new item will be calculated automatically.\nYou can get a list of the parents and the range of children without a database query.\n\nImplemented to create a new item, delete the item, transfer item to the other parent (and the transfer of the group).\n\nDescription of the algorithm for constructing the tree can be found `habr.ru`_ or in the `wiki`_ (in Russian)\n\n.. _habr.ru: http://habrahabr.ru/post/166699/\n\n.. _wiki: https://github.com/EvgeniyBurdin/django_treensl/wiki\n\nThis app is available on `PyPI`_.\n\n.. _PyPI: https://pypi.python.org/pypi/django-treensl/\n\n\nRequirements\n============\n\nSupports `Django`_ 1.8 and later on Python 2.7,\n3.2 - 3.5.\n\nWorks only with PostgreSQL 9.1 and later!\n\n.. _Django: http://www.djangoproject.com/\n\n\nInstallation\n============\n\nClone `this`_ repository. The is an example of a project (app ``myapp`` use ``treensl``)\n\n.. _this: https://github.com/EvgeniyBurdin/django_treensl\n\nChange the settings for connecting to the correct PostgreSQL DB.\n\n\nor:\n\n1. ``pip install django-treensl``\n\n2. Add app ``treensl`` in ``settings.py``\n\n3. Create a new class of models from ``Tree32Abstract`` or ``Tree64Abstract`` (from ``treensl.models``). Add your field in the model (for their fields, **do not use** the following names: ``id``, ``parent_id``, ``lvl``, ``created_children``, ``removed_children``, ``holes``). If necessary, change the dimension of the default tree (properties ``LEVELS`` and ``CHILDREN``). For example see `myapp/models.py`_\n\n4. Run ``python manage.py makemigrations``\n\n5. The new file migration, add the 3 lines as in the example file `myapp/migrations/0001_initial.py`_ (the rows are marked with comments ``# add after makemigrations``)\n\n.. _myapp/models.py: https://github.com/EvgeniyBurdin/django_treensl/blob/master/myapp/models.py\n\n.. _myapp/migrations/0001_initial.py: https://github.com/EvgeniyBurdin/django_treensl/blob/master/myapp/migrations/0001_initial.py\n\n\nPossible dimensions of the tree\n===============================\n\n**Before** executing the ``migrate`` you can adjust the settings tree. The dimension of the tree depends on the length ``integer``.\n\nRecommended values (in the format ``LEVELS/CHILDREN/ROOT_ID``):\n\n1. For **int32**: ``3/1623/-2147483648``, ``4/255/-2147483648``, ``5/83/-2147483648``, ``6/39/-2147483648``\n\n2. For **int64**: ``3/2642243/-9223372036854775808``, ``4/65535/-9223372036854775808``, ``5/7129/-9223372036854775808``, ``6/1623/-9223372036854775808``, ``7/563/-9223372036854775808``, ``8/255/-9223372036854775808``, ``9/137/-9223372036854775808``, ``10/83/-9223372036854775808``\n\n\nStart usage\n===========\n\nRun ``python manage.py migrate``\n\nNow, to create a new item in the tree need only choose a parent. The key (id) for the new item will be calculated automatically.\n\nYou can get a list of the parents and the range of children without a database query.\n\nFor any ``id`` call functions from the `treensl.calc_values`_:\n\n1. ``parents_list(id, LEVELS, CHILDREN, ROOT_ID)`` - returns a list of the first to the last parent\n\n2. ``children_range(id, LEVELS, CHILDREN, ROOT_ID)``- returns a list of the range of children\n\n``LEVELS``, ``CHILDREN``, ``ROOT_ID`` - settings current tree\n\n\n.. _treensl.calc_values: https://github.com/EvgeniyBurdin/django_treensl/blob/master/treensl/calc_values.py", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/EvgeniyBurdin/django_treensl", "keywords": "django", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-treensl", "package_url": "https://pypi.org/project/django-treensl/", "platform": "", "project_url": "https://pypi.org/project/django-treensl/", "project_urls": { "Homepage": "https://github.com/EvgeniyBurdin/django_treensl" }, "release_url": "https://pypi.org/project/django-treensl/0.2.6/", "requires_dist": null, "requires_python": "", "summary": "Django application to the tree structure in the model.", "version": "0.2.6" }, "last_serial": 3418236, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9b4536137eae948c5673c9761074dbed", "sha256": "63830ba380e8bd373b9fd586cd0599284a8fa91b079ae168189988edcda79d02" }, "downloads": -1, "filename": "django-treensl-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9b4536137eae948c5673c9761074dbed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12419, "upload_time": "2015-10-10T10:47:19", "url": "https://files.pythonhosted.org/packages/0f/5c/300239ca41cc479f141677cadaf47567156c0e0ea8cadb0583c5970b36ca/django-treensl-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "be378dbaa8f9af4ec4748865f0ca319e", "sha256": "d9d2900f42ff393a4773eb078302a84d6042ba5b435240392334c83f9a3c84de" }, "downloads": -1, "filename": "django-treensl-0.1.1.tar.gz", "has_sig": false, "md5_digest": "be378dbaa8f9af4ec4748865f0ca319e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12648, "upload_time": "2015-10-10T11:26:35", "url": "https://files.pythonhosted.org/packages/98/cc/22d71152053ea0c669b66d7d56c8968172cca7937ed36381fb680f637cab/django-treensl-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "7e9683e83166fff18ea19ea5dabfbfac", "sha256": "5577efb4615d6b78f731f776604d8299a04f832c89c2f2a311d7ba32d3689884" }, "downloads": -1, "filename": "django-treensl-0.1.10.tar.gz", "has_sig": false, "md5_digest": "7e9683e83166fff18ea19ea5dabfbfac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12910, "upload_time": "2015-12-28T13:55:43", "url": "https://files.pythonhosted.org/packages/71/be/144d021665e50e677d8797bc3c025622e67893ce17af0176cd20e0ee4dcb/django-treensl-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "4cdde2ddabe54af4c0c519fb837c35d4", "sha256": "f4d34161b1f6bf064861d2501fea88e25fa11168b7f7ff3c965c86cfcdcb36ad" }, "downloads": -1, "filename": "django-treensl-0.1.11.tar.gz", "has_sig": false, "md5_digest": "4cdde2ddabe54af4c0c519fb837c35d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12951, "upload_time": "2015-12-28T18:39:05", "url": "https://files.pythonhosted.org/packages/eb/94/62a116f9e56b2cab96a1eb198817ccd02d818b435e52f28658ff4379efc5/django-treensl-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "5a18cd8156a3a12ed957d9751a962c95", "sha256": "d704981dd1cc3f1dc50e7f4fa2712184494662a2b6ee88ea14595e93daf01da5" }, "downloads": -1, "filename": "django-treensl-0.1.12.tar.gz", "has_sig": false, "md5_digest": "5a18cd8156a3a12ed957d9751a962c95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12807, "upload_time": "2015-12-29T21:38:05", "url": "https://files.pythonhosted.org/packages/f3/ac/0afe16d81f9a99ea6443b0d7f3ba5b76ca5a9907da2ad9bb45bca3d3ae8f/django-treensl-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "e8125b6d4311ac30d6bb3ecb407985ae", "sha256": "b901fc7818f48641dab09734fde8876dbc0899ecc75bc0109b321a64699df648" }, "downloads": -1, "filename": "django-treensl-0.1.13.tar.gz", "has_sig": false, "md5_digest": "e8125b6d4311ac30d6bb3ecb407985ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12891, "upload_time": "2015-12-29T22:50:25", "url": "https://files.pythonhosted.org/packages/43/08/0aed71d18ae9db979b603b2cb03f47286a1475cadccf7e7459eb1eeeef46/django-treensl-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "4079ae0bcf651f6b578e6cef7fce2dca", "sha256": "28be9dbde187b48c1aff26d3a78d55fbf99896111c5ca57fbbb7832af73718a5" }, "downloads": -1, "filename": "django-treensl-0.1.14.tar.gz", "has_sig": false, "md5_digest": "4079ae0bcf651f6b578e6cef7fce2dca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12898, "upload_time": "2015-12-30T06:53:36", "url": "https://files.pythonhosted.org/packages/80/73/4bb51212b06bca254fed9fb9633aa91520f13e1a2f9025420a46617a5c65/django-treensl-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "d4f68d65aa47834aea708fda6440d16c", "sha256": "88e53e9dbd9429fd517c615e9810bdefc0c250b700c5b4e600a3af3a2317f617" }, "downloads": -1, "filename": "django-treensl-0.1.15.tar.gz", "has_sig": false, "md5_digest": "d4f68d65aa47834aea708fda6440d16c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13328, "upload_time": "2015-12-31T12:20:14", "url": "https://files.pythonhosted.org/packages/ac/f9/9b45f640752ecdd03acd46de93b492d04d1ea11e65debd0c51dbff735e74/django-treensl-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "dc47582cde555182aca5d02becafb610", "sha256": "bdd932e919b231bea5e5dc3ed71bdf9a924dbf5763b3ee80decd599aa5bc060d" }, "downloads": -1, "filename": "django-treensl-0.1.16.tar.gz", "has_sig": false, "md5_digest": "dc47582cde555182aca5d02becafb610", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13325, "upload_time": "2015-12-31T12:28:51", "url": "https://files.pythonhosted.org/packages/5d/bf/1c276069712854adb4ee3166dc127dcf91142d510d2387174bc40807016d/django-treensl-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "17ce69f4ee02bb6c47763b0273474df5", "sha256": "8ff0130dfb48ef9285e7960d8a555a97618967cf010f017a294046f3431917cc" }, "downloads": -1, "filename": "django-treensl-0.1.17.tar.gz", "has_sig": false, "md5_digest": "17ce69f4ee02bb6c47763b0273474df5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13031, "upload_time": "2015-12-31T15:41:10", "url": "https://files.pythonhosted.org/packages/70/27/d97eed932dcfe8c319661245ab2c2c2582ae02df38edebcd79af93a0ecfc/django-treensl-0.1.17.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "676eacf9c8567bcc93c860d3ec02fea0", "sha256": "d5e2895475ca4be6e1416eb00d53c18b3906d3ee3c0c25913a70638dd6875011" }, "downloads": -1, "filename": "django-treensl-0.1.2.tar.gz", "has_sig": false, "md5_digest": "676eacf9c8567bcc93c860d3ec02fea0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12669, "upload_time": "2015-10-10T12:50:21", "url": "https://files.pythonhosted.org/packages/8c/e9/67ba44b9176c8990274ef512e13c7aec1651f5dc9b9b5261bf8317f9308a/django-treensl-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7dc89b53adaf2324f56e6bfb2c71da39", "sha256": "b0c1017e7836a37641a7230bfa2014a26cec2add3ca1923525d7640957476660" }, "downloads": -1, "filename": "django-treensl-0.1.3.tar.gz", "has_sig": false, "md5_digest": "7dc89b53adaf2324f56e6bfb2c71da39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13144, "upload_time": "2015-10-11T15:26:47", "url": "https://files.pythonhosted.org/packages/63/29/0cadfe05c1147644e4c8446561a68c889a46e2ddf8299dc07b5863ce493a/django-treensl-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4bedad8a4187008cc766faa3ad9f9b23", "sha256": "d006b92060987186961fe13af458a33c0f092a3f15cc92383c61874523f3a535" }, "downloads": -1, "filename": "django-treensl-0.1.4.tar.gz", "has_sig": false, "md5_digest": "4bedad8a4187008cc766faa3ad9f9b23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13185, "upload_time": "2015-10-13T18:26:19", "url": "https://files.pythonhosted.org/packages/24/0e/99269745fdc2e2e82a5e949fc98df92ff52914f778a8c587233969ccc8ca/django-treensl-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "50ddcc13fab412ab035ed0954ae68f3b", "sha256": "038e3f735743e23179d1e43c148fc4f8b4a00bb8b402ae29bc05f42e696ace14" }, "downloads": -1, "filename": "django-treensl-0.1.5.tar.gz", "has_sig": false, "md5_digest": "50ddcc13fab412ab035ed0954ae68f3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13136, "upload_time": "2015-10-14T13:38:04", "url": "https://files.pythonhosted.org/packages/dc/22/d8edd8d18e7d4fcf929e75b8d1b545f18c0d445474a269ad9b5e14078dad/django-treensl-0.1.5.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "e0ac8b5dfa4eb491925880b0ad20b40f", "sha256": "5235f9b97e39cae50b616734e32241c77044742b08160409fa6b3123962f3a67" }, "downloads": -1, "filename": "django-treensl-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e0ac8b5dfa4eb491925880b0ad20b40f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12480, "upload_time": "2015-12-27T07:22:31", "url": "https://files.pythonhosted.org/packages/fd/27/c148f81335b55f22211f287b838f8474fc73bf8d3f54d1a2c39f64512f1f/django-treensl-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "9687de327c68b6e664eb1f99980cf526", "sha256": "58f4b56969180af124ad70ea16c1ce71236c869e1d6caef338f1ee69338cafc9" }, "downloads": -1, "filename": "django-treensl-0.1.8.tar.gz", "has_sig": false, "md5_digest": "9687de327c68b6e664eb1f99980cf526", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12772, "upload_time": "2015-12-27T09:21:10", "url": "https://files.pythonhosted.org/packages/f3/bf/3ae930eee62c3d49921e04660ebfb38e9a5e87b84ac2402e687f39a544c8/django-treensl-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "b449b129012a6d84c953388ad65f9bb2", "sha256": "04c8e0de05f1699b89dce6f1a38b4b48276d1bb9216f9495c54499c8fb44bb62" }, "downloads": -1, "filename": "django-treensl-0.1.9.tar.gz", "has_sig": false, "md5_digest": "b449b129012a6d84c953388ad65f9bb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12787, "upload_time": "2015-12-27T14:41:00", "url": "https://files.pythonhosted.org/packages/9a/22/5a712c94a313f8ca4aa9720c7fe65d9a97cd404c3a51233974cf910ba66c/django-treensl-0.1.9.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7477e098c34688b3caeffc42f220861e", "sha256": "0758dfd33dc537c054bbeb0304e9ca55ac7c49e3e44b1ed2bfa7685c12b5b2f7" }, "downloads": -1, "filename": "django-treensl-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7477e098c34688b3caeffc42f220861e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12950, "upload_time": "2016-01-02T10:35:28", "url": "https://files.pythonhosted.org/packages/55/34/17e699c64b82579150e1a10e577e7c226737fd411e1b268c7b941ca6ff53/django-treensl-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "57cf53e8d2ca48fc50cebbd4dfb6a129", "sha256": "49cc9d0a3c1eca253691582997aa129d9f0aa60ead3688442a79eb1a223fd009" }, "downloads": -1, "filename": "django-treensl-0.2.2.tar.gz", "has_sig": false, "md5_digest": "57cf53e8d2ca48fc50cebbd4dfb6a129", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12266, "upload_time": "2016-01-09T12:56:31", "url": "https://files.pythonhosted.org/packages/42/23/efdcfeb049911c285babbd09e1e6473feab88b262b4913ba0573b20aa651/django-treensl-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "9e1663c96fb7f7499d46a0bdab96bab8", "sha256": "8449f5a8de678936a85e3d558075528f0ed2627e1c5292fae816d458f0ace46b" }, "downloads": -1, "filename": "django-treensl-0.2.3.tar.gz", "has_sig": false, "md5_digest": "9e1663c96fb7f7499d46a0bdab96bab8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12585, "upload_time": "2016-02-03T06:48:12", "url": "https://files.pythonhosted.org/packages/15/17/d517750921b45222229412f4103079f00fdbad7958e69f0270e000ad376f/django-treensl-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "e0c5334d64480cc93edc61b95206a179", "sha256": "cc07f120cced47d19f8e2d28954301cb95c77ca72ff28c20def60d9ba24042d1" }, "downloads": -1, "filename": "django-treensl-0.2.4.tar.gz", "has_sig": false, "md5_digest": "e0c5334d64480cc93edc61b95206a179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12637, "upload_time": "2016-03-08T14:50:46", "url": "https://files.pythonhosted.org/packages/39/45/5a343a0791cfef6d7d209a3eacf74f962fbae40613b531acaad52312cd76/django-treensl-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "f88a4b87f8b671c7a1e28c63fe99ea81", "sha256": "cdf6a68da536c332e4de496c4acd05058fac1dcee65670ff1cf4bd64af4124e7" }, "downloads": -1, "filename": "django-treensl-0.2.5.tar.gz", "has_sig": false, "md5_digest": "f88a4b87f8b671c7a1e28c63fe99ea81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12603, "upload_time": "2016-10-08T22:46:18", "url": "https://files.pythonhosted.org/packages/73/c0/fd0453d848dec9db98dba30cb88ee2460a5ecfb924ce19f37b2f61b3ddf8/django-treensl-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "eaaf226d73ed60824c0b06c509488182", "sha256": "d258b91941dbdae4311d1cda107bfe5f16926efc2586542ef85dabf6a3d1e913" }, "downloads": -1, "filename": "django-treensl-0.2.6.tar.gz", "has_sig": false, "md5_digest": "eaaf226d73ed60824c0b06c509488182", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12614, "upload_time": "2017-12-14T22:53:05", "url": "https://files.pythonhosted.org/packages/b8/d0/2716eeae656975c07b2f853bffc288663f835f6e96a1304d12cb6c78ab02/django-treensl-0.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eaaf226d73ed60824c0b06c509488182", "sha256": "d258b91941dbdae4311d1cda107bfe5f16926efc2586542ef85dabf6a3d1e913" }, "downloads": -1, "filename": "django-treensl-0.2.6.tar.gz", "has_sig": false, "md5_digest": "eaaf226d73ed60824c0b06c509488182", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12614, "upload_time": "2017-12-14T22:53:05", "url": "https://files.pythonhosted.org/packages/b8/d0/2716eeae656975c07b2f853bffc288663f835f6e96a1304d12cb6c78ab02/django-treensl-0.2.6.tar.gz" } ] }