{ "info": { "author": "Arpit | Teja | Kashish", "author_email": "arpit@zinnov.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# draup_django\n\n[![Downloads](https://pepy.tech/badge/draup-django)](https://pepy.tech/project/draup-django)\n\n### Delete, Update functionality for normalised models\n\n\n## Use-Case : \n\n * `Draup Django` provide \n stateful delete, update functionality at ORM(object relational mapping)level.\n\n## Table of Content :\n\n * [Stateful Delete/Update](#stateful)\n * [Get Affected Objects](#get-affected-objects)\n * [Delete Object](#delete-object)\n * [Update Object](#update-object)\n * [Installation](#installation)\n\n\n## Stateful Delete/Update\n * Below are functions inorder to get the stateful delete/update\n\n ### Get Affected Objects\n * List out all dependent objects(Prompt-Messages).\n * `getAffectedObjects` takes input dict with id as key and reference of model.\n\n ```\n Sample Input : ({'id':1},model_reference)\n Output : Error_list(list),prompt messages(list)\n ```\n\n ### Delete Object\n * Delete object with all the dependent objects. \n * `deleteObject` takes input dict with id and force_delete as key and reference of model.\n\n ```\n Sample Input : ({'id':1,'force_delete':True},model_reference)\n Output : Error_list(list)\n ```\n\n ### Update Object \n * Transferring Object dependencies from one object to another object.\n * `updateObjectDependencies` takes input source,destination objects.\n\n ```\n Sample Input : (source,destination)\n Output : Error_list(list)\n ```\n\n## Installation\n * Use Pip to install the module\n\n ```\n pip install draup-django\n ```\n\n## Usage :\n * Sample model : \n\n class parent(models.Model):\n name = models.CharField(max_length=100)\n\n class child(models.Model):\n parent = models.ForeignKey(parent, on_delete=models.CASCADE) \n name = models.CharField(max_length=100)\n\n * Parent Table :\n\n | id | Name |\n | ------ | --------- |\n | 1 | Alice |\n | 2 | Tom |\n\n * Child Table :\n\n | id | Name | parent_id |\n | ----------- | --------- |-------------- |\n | 1 | Bob | 1 |\n | 2 | Jack | 2 | \n\n\n * Code :\n\n from draup_django import utility\n m = models.parent\n\n \"\"\"\n Get Prompt Message\n \"\"\"\n\n error_list,prompt_message = utility.getAffectedObjects({'id':1},m)\n\n \"\"\"\n Deletion with all dependent objects\n \"\"\"\n error_list = utility.deleteObject({'id':1,'force_delete':True},m)\n\n \"\"\"\n Transferring Object dependencies\n \"\"\"\n\n source = m.objects.filter(id=1).first()\n destination = m.objects.filter(id=2).first()\n error_list = utility.updateObjectDependencies(source,destination)\n\n * Output :\n Prompt Message of `getAffectedObjects` function\n\n [{'message': 'This object has been used in child 1 times.', 'model_name': 'child', 'Parent models': '', 'count': 1}] \n\n * **Note** : \n - Every function returns the error_list, and hence only the operation is successful only if it is empty. \n - According to above Child/Parent Table `updateObjectDependencies` function will transafer object dependency from `id:1` to `id:2` so parent_id of `Bob` will become `2`. \n\n - Updated Child Table: \n\n | id | Name | parent_id |\n | ----------- | --------- |-------------- |\n | 1 | Bob | 2 |\n | 2 | Jack | 2 |\n\n## Limitation\u00a0:\n * `updateObjectDependencies` will not work in case of unique constraint,one to one field in model.\n * Please feel free to share your thoughts and feedback at info@draup.com .\n\n\n## About Draup :\n\n [Draup](https://draup.com) is an enterprise decision-making platform for global CXO leaders in sales and talent domains. Draup combines Artificial Intelligence with human curation to help organizations make data-driven strategic decisions. The platform is powered by machine- generated models, which are augmented by a team of analysts adding their learning-based insights to provide a 360-degree transactable view of their sales and talent ecosystem. We work on cutting edge technolgies and run highly complex algorithms on huge volumes of data. We also rely on open-sourcing which equips us with the right tools which allows us to find truly unique and innovate solutions to several problems.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Draup-Zinnov/draup_django", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "draup-django", "package_url": "https://pypi.org/project/draup-django/", "platform": "", "project_url": "https://pypi.org/project/draup-django/", "project_urls": { "Homepage": "https://github.com/Draup-Zinnov/draup_django" }, "release_url": "https://pypi.org/project/draup-django/1.4.0/", "requires_dist": null, "requires_python": "", "summary": "Django Utility - Draup Labs", "version": "1.4.0" }, "last_serial": 5483795, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "6ed8ae342e976ef4f51c2151973ffda6", "sha256": "1f1d32d65f46987baab0abc2144f8a8d070655ed667e327526eb0d94232f14fa" }, "downloads": -1, "filename": "draup_django-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "6ed8ae342e976ef4f51c2151973ffda6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6145, "upload_time": "2018-12-31T09:10:26", "url": "https://files.pythonhosted.org/packages/37/18/2b5d9824c98822d32dca22d778242ddb7fc5745ba47f3343a34aba76d9c6/draup_django-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35d7d5fba7b9d3f4068d4163f081a8a1", "sha256": "fce395b4735ac1fc7cd534a8e5fb6308265aec6da410b769fa7f5c5cc3ee2279" }, "downloads": -1, "filename": "draup_django-1.0.0.tar.gz", "has_sig": false, "md5_digest": "35d7d5fba7b9d3f4068d4163f081a8a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5276, "upload_time": "2018-12-31T09:10:28", "url": "https://files.pythonhosted.org/packages/f3/90/3e85d991e8280069de4f5a2fcffb7c4cca2b850a4fa7f6ae2339a1f88524/draup_django-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0279595e2854326531eb30163141b0d3", "sha256": "3d640ff6770062f4f9353ecc2034efd9b3d97683ad81e7238301bb8447943b4c" }, "downloads": -1, "filename": "draup_django-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0279595e2854326531eb30163141b0d3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6612, "upload_time": "2019-01-03T12:28:26", "url": "https://files.pythonhosted.org/packages/32/76/48dd6da132c33b4223e2e16c01cc61445dcff53a4953f8fa36bdf7f55f20/draup_django-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c46147286faa8d9eeb9fe4ed0eae810", "sha256": "500b304445fe4b21d19c86cfe9727cb21f52b7cc5766ea72044bba9115a554b4" }, "downloads": -1, "filename": "draup_django-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4c46147286faa8d9eeb9fe4ed0eae810", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5790, "upload_time": "2019-01-03T12:28:28", "url": "https://files.pythonhosted.org/packages/8a/5b/7d4e72ce4dd210028e459281dbeb2acc8a24102f540859320f360a914ff4/draup_django-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "21293888d56c98200b1593d56e277b52", "sha256": "70197fb6966cdbe2e4cc7fcd8c78446be11eb8f1166c4fea5020df7e72f02c98" }, "downloads": -1, "filename": "draup_django-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "21293888d56c98200b1593d56e277b52", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6650, "upload_time": "2019-02-26T10:56:43", "url": "https://files.pythonhosted.org/packages/42/85/4b471eade1f823adaa30c64a641c99cb97a12774123d3c3e07bfca030504/draup_django-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7e0a751815c2612a53ddd87a8141b83", "sha256": "71ad4a373de96628e98473258d29d407cac75699ba9d5c2a2b9148c6d9a2c704" }, "downloads": -1, "filename": "draup_django-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b7e0a751815c2612a53ddd87a8141b83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5835, "upload_time": "2019-02-26T10:56:45", "url": "https://files.pythonhosted.org/packages/94/49/ddfd1811bd9ddd9573c1eaf1fb5d2c514750000f7ce82a3d7dd0e7c564c0/draup_django-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "6469f589c4ea3a7301533de12cd36b24", "sha256": "10205acddb107884e77e0736ed3b0c80a0facaaaaacc7d5ba04cbdb84cb045e2" }, "downloads": -1, "filename": "draup_django-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6469f589c4ea3a7301533de12cd36b24", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7456, "upload_time": "2019-02-26T11:16:03", "url": "https://files.pythonhosted.org/packages/14/2c/392d345846304900775910c36c13fa6766e420e52cd03f6331ea7e33299a/draup_django-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee98b01cb8869295258eb918e56db78b", "sha256": "c0dd34225fe87252ede9654ef42cc02480236c8300a4ee371aac702ba43ed316" }, "downloads": -1, "filename": "draup_django-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ee98b01cb8869295258eb918e56db78b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5820, "upload_time": "2019-02-26T11:16:04", "url": "https://files.pythonhosted.org/packages/37/e9/ed36aca03e7ebfa73ea0909a231004b595465882c0a226152bc649e6692b/draup_django-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "705f37526ed24fdf4729786d57117e84", "sha256": "06545b29fdf61396c8bfb8fa3b9d21bb6d020f60eb7778849a5a37378ee7b56c" }, "downloads": -1, "filename": "draup_django-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "705f37526ed24fdf4729786d57117e84", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7480, "upload_time": "2019-04-23T14:26:09", "url": "https://files.pythonhosted.org/packages/76/c0/e0f7a2f36a651915dded9e2cb38f02a9f92aaa883d5ed192ad2b02f76bbb/draup_django-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d3a0998853f28c39a17bc1301136a840", "sha256": "cb2a443c8ee43485c5fbcd2522785c95b409e4bc4cab57c16df952f9162b6a84" }, "downloads": -1, "filename": "draup_django-1.2.0.tar.gz", "has_sig": false, "md5_digest": "d3a0998853f28c39a17bc1301136a840", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5825, "upload_time": "2019-04-23T14:26:11", "url": "https://files.pythonhosted.org/packages/b8/04/5592fcb8145d9137caf6c44e8d2eaa778e393f7a6ec97a7ae1daa500fef3/draup_django-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "9ad0995d72f582f2e8e58d9b99156a2e", "sha256": "3e176ec6f9fb418cb47ece9b59e946dd768e0984ab1ccabb55a6d0cee693386d" }, "downloads": -1, "filename": "draup_django-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9ad0995d72f582f2e8e58d9b99156a2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7502, "upload_time": "2019-06-25T10:50:56", "url": "https://files.pythonhosted.org/packages/49/3d/a2f7db50cccc577a3af5edae9b3f40592bca182e62cb6e7a04fa74548714/draup_django-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0819a74b44404458b3241e477f59fba0", "sha256": "d07c4df7177d0f1fde424a67fa4068fc67d4ccb0756ab06f90743811e98cb654" }, "downloads": -1, "filename": "draup_django-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0819a74b44404458b3241e477f59fba0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5856, "upload_time": "2019-06-25T10:50:58", "url": "https://files.pythonhosted.org/packages/ff/09/56a1b32219d392a438e74c67d89a05c789f69219d7d3aa0fbb8bb744b399/draup_django-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "4b026da7bff2e6854ea5e4ac55f8ded6", "sha256": "0276a8df92fda8da9f59e6195727bf80c8f5526f59a67ce93d6b5adb2e4288ab" }, "downloads": -1, "filename": "draup_django-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4b026da7bff2e6854ea5e4ac55f8ded6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7513, "upload_time": "2019-06-25T10:58:57", "url": "https://files.pythonhosted.org/packages/e5/a4/d679d1bf8b79f96e3726316d724c68ca9e9ecc85ce8cce5fa3e497fd6d8a/draup_django-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c033791cecaaebd4b93caf37b29080c4", "sha256": "1157f2a8e455cf74e953473fd84f4eed99e0a5520db302572bb549942c9110e0" }, "downloads": -1, "filename": "draup_django-1.3.1.tar.gz", "has_sig": false, "md5_digest": "c033791cecaaebd4b93caf37b29080c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5857, "upload_time": "2019-06-25T10:58:59", "url": "https://files.pythonhosted.org/packages/ff/55/585da0d2fa850fde4acc6add3bc4d1f327336649867ac4d187fe1096a53b/draup_django-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "aade18e4c25ab9e06576220dd253eac5", "sha256": "864026b4125f82518c8f33fb1f2e58f04a5eb72592db4075fff2b5ddb87c5ef1" }, "downloads": -1, "filename": "draup_django-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aade18e4c25ab9e06576220dd253eac5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7556, "upload_time": "2019-07-01T10:54:55", "url": "https://files.pythonhosted.org/packages/73/83/76b812824e42c1aecae1216e4797888c758a7cfa192a8a409e70f3ee5a05/draup_django-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e81133d6d2b2afc67ee4eb2ee1702ac", "sha256": "5a46b4c43c74e93c4ca6109bc744683171a0ff21f65fa9dd8bd67a9dccb2fe2b" }, "downloads": -1, "filename": "draup_django-1.3.2.tar.gz", "has_sig": false, "md5_digest": "8e81133d6d2b2afc67ee4eb2ee1702ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5901, "upload_time": "2019-07-01T10:54:57", "url": "https://files.pythonhosted.org/packages/ae/41/135c42082566b5ebf133de270b70ef0adf44b965158ecd9d1734dbb7429a/draup_django-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "2370afa0d8d6e710b857afe7aff0b2ef", "sha256": "f1df8751eab86b727552ddf4e5e88caacd91909b0c63549eaec961568234b349" }, "downloads": -1, "filename": "draup_django-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2370afa0d8d6e710b857afe7aff0b2ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7561, "upload_time": "2019-07-01T11:57:52", "url": "https://files.pythonhosted.org/packages/fc/18/4326a6b498de0a83c8dd3ae4a912266e2b23d9f06707560ca59aca0851b7/draup_django-1.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a7ef49ba6ace8b7337ad44555168603", "sha256": "c4e893e46330dce3996b778cf0ab96a84cef426fb725ca8345214925bcf3db12" }, "downloads": -1, "filename": "draup_django-1.3.3.tar.gz", "has_sig": false, "md5_digest": "1a7ef49ba6ace8b7337ad44555168603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5902, "upload_time": "2019-07-01T11:57:54", "url": "https://files.pythonhosted.org/packages/b8/c1/3b927f9b855a1f16a659d8e6383917618b8acd5f7e0065851854a449ccd2/draup_django-1.3.3.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "965a60cb82f022ec1ad73698175eb2df", "sha256": "1bb839fa0fee28f65f5df2b2350392f2afc0a0dc20257323f8cce1293a7555ef" }, "downloads": -1, "filename": "draup_django-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "965a60cb82f022ec1ad73698175eb2df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7595, "upload_time": "2019-07-03T22:17:02", "url": "https://files.pythonhosted.org/packages/58/bc/638e07e0faa543d6f0a00f398a454b29d40b159434880cf6a59629653e15/draup_django-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a5639fa7bccabbfcee584959ffe9028", "sha256": "49e74b157b8246b795844a6e0e53b36408e54431770bfa023588b081f8f05d9a" }, "downloads": -1, "filename": "draup_django-1.4.0.tar.gz", "has_sig": false, "md5_digest": "1a5639fa7bccabbfcee584959ffe9028", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5931, "upload_time": "2019-07-03T22:17:04", "url": "https://files.pythonhosted.org/packages/2d/c8/252f832a9d53c7783b07782f5a44408ae93f4212c60927ffea8e67a668b3/draup_django-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "965a60cb82f022ec1ad73698175eb2df", "sha256": "1bb839fa0fee28f65f5df2b2350392f2afc0a0dc20257323f8cce1293a7555ef" }, "downloads": -1, "filename": "draup_django-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "965a60cb82f022ec1ad73698175eb2df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7595, "upload_time": "2019-07-03T22:17:02", "url": "https://files.pythonhosted.org/packages/58/bc/638e07e0faa543d6f0a00f398a454b29d40b159434880cf6a59629653e15/draup_django-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a5639fa7bccabbfcee584959ffe9028", "sha256": "49e74b157b8246b795844a6e0e53b36408e54431770bfa023588b081f8f05d9a" }, "downloads": -1, "filename": "draup_django-1.4.0.tar.gz", "has_sig": false, "md5_digest": "1a5639fa7bccabbfcee584959ffe9028", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5931, "upload_time": "2019-07-03T22:17:04", "url": "https://files.pythonhosted.org/packages/2d/c8/252f832a9d53c7783b07782f5a44408ae93f4212c60927ffea8e67a668b3/draup_django-1.4.0.tar.gz" } ] }