{ "info": { "author": "Ventsislav Tashev", "author_email": "wencakisa@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython" ], "description": "\n# [django-toggle-m2m](https://pypi.org/project/django-toggle-m2m/)\n\n## Installation\n\n```bash\npip install django_toggle_m2m\n```\n\n## Usage in models\n\n```python\nfrom django.db import models\n\nfrom django_toggle_m2m.toggle import ToggleManyToMany\n\n\nclass Publication(models.Model):\n title = models.CharField(max_length=32)\n\n\nclass Article(models.Model, ToggleManyToMany):\n # ______________________^\n # Extend ToggleManyToMany class\n headline = models.CharField(max_length=256)\n publications = models.ManyToManyField(Publication)\n\n # Define M2M fields that are toggleable\n TOGGLEABLE_FIELDS = ('publications',)\n```\n\n## Relation toggling\n```python\narticle = Article.objects.create(...)\npublication = Publication.objects.create(...)\n\narticle.toggle_publications(instance=publication) # Will be added\narticle.toggle_publications(instance=publication) # Will be removed\n```\n\n## Development\n\n```bash\ngit clone https://github.com/wencakisa/django-toggle-m2m.git\npip install django_toggle_m2m\n```\n\n---\n\n*Interesting fact* - https://code.djangoproject.com/ticket/20686\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/wencakisa/django-toggle-m2m", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-toggle-m2m", "package_url": "https://pypi.org/project/django-toggle-m2m/", "platform": "", "project_url": "https://pypi.org/project/django-toggle-m2m/", "project_urls": { "Homepage": "https://github.com/wencakisa/django-toggle-m2m" }, "release_url": "https://pypi.org/project/django-toggle-m2m/0.0.6/", "requires_dist": [ "django" ], "requires_python": ">=3.6.0", "summary": "Django package for generating methods for toggling ManyToMany relationship entries in models", "version": "0.0.6" }, "last_serial": 5566115, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ac11730f6641d9daa119b14dae4b3b38", "sha256": "4049614911445c09df32a775d2d731f79a9b4fa2047816180734d11ebc0a416a" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ac11730f6641d9daa119b14dae4b3b38", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 3126, "upload_time": "2019-06-27T12:19:56", "url": "https://files.pythonhosted.org/packages/e6/57/52fcd8d94408ddb26299e3f817065b94bfaa8bf0a513bd1f8c341364cc16/django_toggle_m2m-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b9e8f8a7d791cb09d4d99332561e0bd4", "sha256": "f17d83408249569d2c2f7f800a2ecc43a414c7fe6ef30b170075313a8e482977" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b9e8f8a7d791cb09d4d99332561e0bd4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 2659, "upload_time": "2019-06-27T12:19:58", "url": "https://files.pythonhosted.org/packages/18/4a/f884a4542d5257e78a637cbbf21c259a5edc56e00a930f77d44a4f66b939/django_toggle_m2m-0.0.1.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "7fe6eeef6b128036b1b077d2ca084acd", "sha256": "cc07ce43aedf2eb36cdb4f8c16adaa6b6393860ed67745d07e46cb9aa81cf371" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7fe6eeef6b128036b1b077d2ca084acd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 3460, "upload_time": "2019-06-27T12:47:50", "url": "https://files.pythonhosted.org/packages/e9/8c/99adf44f8e8088a9b78c42c2203cbda109442ba0bf57fdc2a0f631e01bb1/django_toggle_m2m-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "61a9b88c4a564550b611e096bbd32363", "sha256": "29ed81dbd295c7a66f5c4fde40daed4df878855f9fd3866f960b9c3efe72b0a2" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.3.tar.gz", "has_sig": false, "md5_digest": "61a9b88c4a564550b611e096bbd32363", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 3094, "upload_time": "2019-06-27T12:47:51", "url": "https://files.pythonhosted.org/packages/4b/95/234ca049cfd80dd1c5bb21b149e363223cd95ed5d33272ed663d2d86511f/django_toggle_m2m-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "f3845d4ba8da404a818b7fe0d92930ab", "sha256": "c463cbf80e4baa90736f00f3f781ded17d6d8dc5e03ac02f6c3c7630b991c58b" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f3845d4ba8da404a818b7fe0d92930ab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3531, "upload_time": "2019-07-10T15:26:23", "url": "https://files.pythonhosted.org/packages/8e/bb/2ecb444962513a1c839e2cdd81b5b847e5c06c591193a0cc0c6c99e50bb3/django_toggle_m2m-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d8d8b122936af066f032b06aef740e3", "sha256": "3245b1b011b6bffa1f5ce72fa0dd5d2f5a47eb6bc636f82eded2ac60d2fd9afe" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.4.tar.gz", "has_sig": false, "md5_digest": "6d8d8b122936af066f032b06aef740e3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3172, "upload_time": "2019-07-10T15:26:25", "url": "https://files.pythonhosted.org/packages/a7/2c/f565b2071d7a5f5d1e5984f84e294dc10c6f8984169b6ea1c745c9d8353a/django_toggle_m2m-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "0d596c697c16f6f85b0e474c675f0bcf", "sha256": "fca4d357b4645713ee159702d4ab1afc4b66629d83bfcb7d6687e9d1f2a49f5f" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d596c697c16f6f85b0e474c675f0bcf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3532, "upload_time": "2019-07-12T07:24:25", "url": "https://files.pythonhosted.org/packages/53/6e/e2dad6635125e4a83d5ae4ee3728cccc9a0892b33c30b0ab033ee5f3d200/django_toggle_m2m-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a080df4cf122f5812a8c8b8c55c9908b", "sha256": "6f8d849976d547ea624362ea599a4059d306d7a003a90b53aa0dc2a2f22a0dc0" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.5.tar.gz", "has_sig": false, "md5_digest": "a080df4cf122f5812a8c8b8c55c9908b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3180, "upload_time": "2019-07-12T07:24:27", "url": "https://files.pythonhosted.org/packages/a4/1e/b2e88774726e37bffd5c7c713a373cc22ea796851d6604ca2455cac2d226/django_toggle_m2m-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "a7020cdc049ac1a7cf7e90df82def3ed", "sha256": "42f65bc9d437d19f3bd7e99daf1a35c29dea3914b49522f022ca0bafb6da4e72" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a7020cdc049ac1a7cf7e90df82def3ed", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3548, "upload_time": "2019-07-22T07:54:26", "url": "https://files.pythonhosted.org/packages/45/5f/c0df8b7821fc8d8dde4663836fc7137d984160a5f5a8b7478ed16c5a6a57/django_toggle_m2m-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df03ac7d48e33fe005adeed10c91d40b", "sha256": "b4b95d355d24e9838c6212acc641cd1817c0a7aad1d1f28c013e16947bc3ff0d" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.6.tar.gz", "has_sig": false, "md5_digest": "df03ac7d48e33fe005adeed10c91d40b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3195, "upload_time": "2019-07-22T07:54:28", "url": "https://files.pythonhosted.org/packages/38/df/c33da1ef15c5c801912928c3ea26b288019203c1fef2005f566a7bb02daa/django_toggle_m2m-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a7020cdc049ac1a7cf7e90df82def3ed", "sha256": "42f65bc9d437d19f3bd7e99daf1a35c29dea3914b49522f022ca0bafb6da4e72" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a7020cdc049ac1a7cf7e90df82def3ed", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3548, "upload_time": "2019-07-22T07:54:26", "url": "https://files.pythonhosted.org/packages/45/5f/c0df8b7821fc8d8dde4663836fc7137d984160a5f5a8b7478ed16c5a6a57/django_toggle_m2m-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df03ac7d48e33fe005adeed10c91d40b", "sha256": "b4b95d355d24e9838c6212acc641cd1817c0a7aad1d1f28c013e16947bc3ff0d" }, "downloads": -1, "filename": "django_toggle_m2m-0.0.6.tar.gz", "has_sig": false, "md5_digest": "df03ac7d48e33fe005adeed10c91d40b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3195, "upload_time": "2019-07-22T07:54:28", "url": "https://files.pythonhosted.org/packages/38/df/c33da1ef15c5c801912928c3ea26b288019203c1fef2005f566a7bb02daa/django_toggle_m2m-0.0.6.tar.gz" } ] }