{ "info": { "author": "Alex Seitsinger", "author_email": "software@alexseitsinger.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Content Management System" ], "description": "# Django Rest Framework Expandable\n\n## Description\n\nExpandable serializers for Django REST Framework. Allow for selective object\nexpansion through query parameters or serializer class kwargs.\n\n## Installation\n\n```\npip install django-rest-framework-expandable\n```\n\n## Usage\n\n```python\n# apps/users/api.serializers.py\n# (User serializer)\nclass UserSerializer(ExpandableHyperlinkedModelSerializer):\n class Meta:\n model = User\n fields = (\"username\", \"id\", ...)\n\n# apps/users/api/fields.py\n# (User expandable serializer field)\nclass UserRelatedField(ExpandableHyperlinkedRelatedField):\n queryset = User.objects.all()\n lookup_field = \"id\"\n view_name = \"api:user-detail\"\n expand_settings = {\n \"comparison_fields\": [\"id\"],\n \"serializers\": [\n {\n \"paths\": [\"example.user\"],\n \"serializer\": \"apps.users.api.serializers.UserSerializer\",\n \"skipped\": [],\n }\n ]\n }\n\n# apps/example/api/serializers.py\n# Example serializer (using nested expandable serializer fields)\nfrom apps.users.api.fields import UserRelatedField\nfrom apps.another.api.fields import AnotherRelatedField\n\nclass ExampleSerializer(ExpandableHyperlinkedModelSerializer):\n another_related_field = AnotherRelatedField()\n user = UserRelatedField()\n ...\n```\n\nReturns...\n\n```\nGET http://localhost:8000/api/examples/?expand=example.user\n{\n id: 1,\n another_related_field: \"http://localhost:8000/api/another/1\",\n user: {\n id: 1,\n username: \"Alex\",\n ...\n }\n}\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/alexseitsinger/django-rest-framework-expandable", "keywords": "django,rest,djangorestframework", "license": "BSD 2-Clause License", "maintainer": "", "maintainer_email": "", "name": "django-rest-framework-expandable", "package_url": "https://pypi.org/project/django-rest-framework-expandable/", "platform": "", "project_url": "https://pypi.org/project/django-rest-framework-expandable/", "project_urls": { "Documentation": "https://github.com/alexseitsinger/django-rest-framework-expandable", "Homepage": "https://github.com/alexseitsinger/django-rest-framework-expandable", "Source": "https://github.com/alexseitsinger/django-rest-framework-expandable", "Tracker": "https://github.com/alexseitsinger/django-rest-framework-expandable/issues" }, "release_url": "https://pypi.org/project/django-rest-framework-expandable/0.4.1/", "requires_dist": null, "requires_python": "", "summary": "Expandable serializers for Django REST Framework", "version": "0.4.1" }, "last_serial": 5991395, "releases": { "0.4.1": [ { "comment_text": "", "digests": { "md5": "d839efcb832fada8975287da295a1917", "sha256": "d24b47e3fbc48c8cfdaec1f7c505c96503899ff94b6f7fbb31c629bae8e0b198" }, "downloads": -1, "filename": "django_rest_framework_expandable-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d839efcb832fada8975287da295a1917", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11776, "upload_time": "2019-10-17T17:27:59", "url": "https://files.pythonhosted.org/packages/3b/6d/6bfc487d4e65fa24f491d89f8f93aeb3866252c696d0ac65ebffb1a35978/django_rest_framework_expandable-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "284ba3bb6c6df69286969e9bebe522e5", "sha256": "55b55b5b9a92215c5d9152dd9153c52c1461dea4b335db88b47bc4fe5cbfe527" }, "downloads": -1, "filename": "django-rest-framework-expandable-0.4.1.tar.gz", "has_sig": false, "md5_digest": "284ba3bb6c6df69286969e9bebe522e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9351, "upload_time": "2019-10-17T17:28:01", "url": "https://files.pythonhosted.org/packages/7f/9f/f6cee2c081476a8f983d3eedb7e9e1029ea1d9dc1f83ea54a2c4093686b4/django-rest-framework-expandable-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d839efcb832fada8975287da295a1917", "sha256": "d24b47e3fbc48c8cfdaec1f7c505c96503899ff94b6f7fbb31c629bae8e0b198" }, "downloads": -1, "filename": "django_rest_framework_expandable-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d839efcb832fada8975287da295a1917", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11776, "upload_time": "2019-10-17T17:27:59", "url": "https://files.pythonhosted.org/packages/3b/6d/6bfc487d4e65fa24f491d89f8f93aeb3866252c696d0ac65ebffb1a35978/django_rest_framework_expandable-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "284ba3bb6c6df69286969e9bebe522e5", "sha256": "55b55b5b9a92215c5d9152dd9153c52c1461dea4b335db88b47bc4fe5cbfe527" }, "downloads": -1, "filename": "django-rest-framework-expandable-0.4.1.tar.gz", "has_sig": false, "md5_digest": "284ba3bb6c6df69286969e9bebe522e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9351, "upload_time": "2019-10-17T17:28:01", "url": "https://files.pythonhosted.org/packages/7f/9f/f6cee2c081476a8f983d3eedb7e9e1029ea1d9dc1f83ea54a2c4093686b4/django-rest-framework-expandable-0.4.1.tar.gz" } ] }