{ "info": { "author": "Net Prophet", "author_email": "wellsroberte@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "Django Easy Scoping allows you to register scopes and aggregate functions on\nyour Django models. \n\n## Installation\n\nTo get the `ScopingMixin.py` file you can download it or use pip.\n\n### Downloading File\n\nDownload the ScopingMixin file from github.\n[ScopingMixin.py](http://github.com/net-prophet/django-easy-scoping/blob/master/DjangoEasyScoping/DjangoEasyScoping/ScopingMixin.py)\n\nImport `ScopingMixin` and `ScopingQuerySet` from `ScopingMixin.py`.\n```python\nfrom .ScopingMixin import ScopingMixin, ScopingQuerySet\n```\n\n### Using pip\n\n`$ pip install django-easy-scoping`\n\nImport `ScopingMixin` and `ScopingQuerySet` from `ScopingMixin.py`.\n```python\nfrom DjangoEasyScoping.ScopingMixin import ScopingMixin, ScopingQuerySet\n```\n\n### Implementing\n\nMix `ScopingMixin` in with the Django model(s) you'd like to create scopes for.\n```python\nclass Purchase(ScopingMixin, models.Model):\n```\n\nOverride the Queryset for that model using `ScopingQuerySet`.\n```python\n objects = ScopingQuerySet.as_manager()\n```\n\nDone!\n\n## Implementing with existing Managers/Querysets\n\nIf you'd like to continue using your own custom manager/queryset then you can! \nYou only need to take action if you'd like to name the ScopingQuerySet override\nsomething other than `objects`, for instance:\n\n```python \nother_name = ScopingQuerySet.as_manager()\n```\n\nThen simply open `ScopingMixin.py` in your `sites-packages` and edit the following \nmethods. \n\n```python\nclass ScopingMixin(object):\n\n @classmethod\n def get_scope(cls, name)\n if hasattr(cls, '__scopes__') and name in cls.scopes():\n return getattr(cls.objects.all(), name)\n\n @classmethod\n def get_aggregate(cls, name)\n if hasattr(cls, '__aggregate__') and name in cls.aggregates():\n return getattr(cls.objects.all(), name)\n```\n becomes\n```python\nclass ScopingMixin(object):\n\n @classmethod\n def get_scope(cls, name)\n if hasattr(cls, '__scopes__') and name in cls.scopes():\n return getattr(cls.other_name.all(), name)\n\n @classmethod\n def get_aggregate(cls, name)\n if hasattr(cls, '__aggregate__') and name in cls.aggregates():\n return getattr(cls.other_name.all(), name)\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/net-prophet/django-easy-scoping", "keywords": "django python scope scoping aggregate", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-easy-scoping", "package_url": "https://pypi.org/project/django-easy-scoping/", "platform": "", "project_url": "https://pypi.org/project/django-easy-scoping/", "project_urls": { "API": "https://net-prophet.github.io/django-easy-scoping/docs/api.html", "Docs": "https://net-prophet.github.io/django-easy-scoping/", "Homepage": "https://github.com/net-prophet/django-easy-scoping", "Usage": "https://net-prophet.github.io/django-easy-scoping/docs/usage.html" }, "release_url": "https://pypi.org/project/django-easy-scoping/1.13/", "requires_dist": [ "Django (<3.0,>=1.11)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "A mixin to allow users to create scopes on Django models.", "version": "1.13" }, "last_serial": 4067167, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "ff63763970f42e9f205111f8007b2bb2", "sha256": "3673517dca2cd13f5658280586ca13f9afc11af4b535090e9614f07e36da9fcc" }, "downloads": -1, "filename": "django_easy_scoping-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ff63763970f42e9f205111f8007b2bb2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 1233, "upload_time": "2018-07-16T18:14:45", "url": "https://files.pythonhosted.org/packages/31/63/41b5848908bd0e4b3ee4d027136ce49f840ddf0f9e4baef20fdab8da0bf7/django_easy_scoping-1.0-py3-none-any.whl" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "32e2b7803a5bf6a7f8e94af4b62b755b", "sha256": "66003557fa82f1bb3f7fca1f95cfa3703107c61aeb64061c3f1d88e3aa6d3f2c" }, "downloads": -1, "filename": "django_easy_scoping-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "32e2b7803a5bf6a7f8e94af4b62b755b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 1233, "upload_time": "2018-07-16T18:17:26", "url": "https://files.pythonhosted.org/packages/6e/f4/3907783704be3754923dd96f71084e5695274f8cfc175c2f984a5315616d/django_easy_scoping-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd85a4db06026be19faf0160e278d3d9", "sha256": "b5ceaa8715ad7e5e828796587d69bb28e3bb6348560128bd5dbaf1999abb3184" }, "downloads": -1, "filename": "django_easy_scoping-1.1.tar.gz", "has_sig": false, "md5_digest": "cd85a4db06026be19faf0160e278d3d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 1433, "upload_time": "2018-07-16T18:17:27", "url": "https://files.pythonhosted.org/packages/1e/be/dd21c4df3dce38d1cf56967fe8c9cb932b0f054a20a35b323aaad6dcaa10/django_easy_scoping-1.1.tar.gz" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "f636a72495f156e64ae47e251c90b28d", "sha256": "ad0702e2b6d0774e7a8083ee2d26a407ba2ca6086aa2ef1bc110bfaedeafb62a" }, "downloads": -1, "filename": "django_easy_scoping-1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "f636a72495f156e64ae47e251c90b28d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 2312, "upload_time": "2018-07-16T18:58:40", "url": "https://files.pythonhosted.org/packages/96/44/e3a534b616751a1d77302b86bae2fc42b2932d44d74c702d2a881ce76f02/django_easy_scoping-1.11-py3-none-any.whl" } ], "1.12": [ { "comment_text": "", "digests": { "md5": "6b01c5604461d5584e2238d931622eb1", "sha256": "68fa9a73f928cec7c16ff3a9b8dd150485cf6f11de0c84a0fc338630ba6fa005" }, "downloads": -1, "filename": "django_easy_scoping-1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "6b01c5604461d5584e2238d931622eb1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 2312, "upload_time": "2018-07-16T19:27:18", "url": "https://files.pythonhosted.org/packages/15/c0/6c58950ae3553de50af6aaafc5ac3f02db135de8213815012ea9c91583d2/django_easy_scoping-1.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45429ec10f09323543fe7a4952f201f8", "sha256": "e2ffb4fa3fc14e1684ec17b86bafab06abc944dbf5661583b0607aa44ca1b66f" }, "downloads": -1, "filename": "django_easy_scoping-1.12.tar.gz", "has_sig": false, "md5_digest": "45429ec10f09323543fe7a4952f201f8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 2042, "upload_time": "2018-07-16T19:27:19", "url": "https://files.pythonhosted.org/packages/9f/9c/52d6ac56f910469868ede3ab83664a4f3281ad7d5da5b45275fc7716a279/django_easy_scoping-1.12.tar.gz" } ], "1.13": [ { "comment_text": "", "digests": { "md5": "7fcc106342053514994c1b5d0bcc5e0c", "sha256": "0ee13cfc85e48f6d6075a84c52534140b67bd8273dfef31f82242b052d4cf1ff" }, "downloads": -1, "filename": "django_easy_scoping-1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "7fcc106342053514994c1b5d0bcc5e0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 3174, "upload_time": "2018-07-16T21:13:24", "url": "https://files.pythonhosted.org/packages/6e/7b/633c1c90879152cf30b978ae6ac5e0e169284bcc67bc7a1ddb176a10becb/django_easy_scoping-1.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "635863b4f1143381a98cf0ff4c2cc8ef", "sha256": "a6042e6ae5a14293d39f54bb83d4362495827e393b2136d22511a2df5e86b212" }, "downloads": -1, "filename": "django-easy-scoping-1.13.tar.gz", "has_sig": false, "md5_digest": "635863b4f1143381a98cf0ff4c2cc8ef", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 2791, "upload_time": "2018-07-16T21:13:25", "url": "https://files.pythonhosted.org/packages/a3/b5/e3316d1ce57cc639f0858c6b59625ed2cca6da1d2d40ab3ae26bd9c54912/django-easy-scoping-1.13.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7fcc106342053514994c1b5d0bcc5e0c", "sha256": "0ee13cfc85e48f6d6075a84c52534140b67bd8273dfef31f82242b052d4cf1ff" }, "downloads": -1, "filename": "django_easy_scoping-1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "7fcc106342053514994c1b5d0bcc5e0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 3174, "upload_time": "2018-07-16T21:13:24", "url": "https://files.pythonhosted.org/packages/6e/7b/633c1c90879152cf30b978ae6ac5e0e169284bcc67bc7a1ddb176a10becb/django_easy_scoping-1.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "635863b4f1143381a98cf0ff4c2cc8ef", "sha256": "a6042e6ae5a14293d39f54bb83d4362495827e393b2136d22511a2df5e86b212" }, "downloads": -1, "filename": "django-easy-scoping-1.13.tar.gz", "has_sig": false, "md5_digest": "635863b4f1143381a98cf0ff4c2cc8ef", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 2791, "upload_time": "2018-07-16T21:13:25", "url": "https://files.pythonhosted.org/packages/a3/b5/e3316d1ce57cc639f0858c6b59625ed2cca6da1d2d40ab3ae26bd9c54912/django-easy-scoping-1.13.tar.gz" } ] }