{ "info": { "author": "Clayton Daley III", "author_email": "clayton.daley+github@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.9", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP" ], "description": "# Keyed Lists for Django REST Framework\n\nThis package supports the serialization and deserialization of a list of objects stored in a `dict` where a unique\nvalue from the object (often a `pk`) is used as the key in the dict. For example,\n\n\n```\n{\n \"1\": {},\n \"2\": {},\n ...\n}\n```\n\n# Install\n\n`pip install drf-keyed-list`\n\n# Usage\n\nThe following is a usage example:\n\n```\nclass MySerializer(ModelSerializer):\n\n class Meta:\n list_serializer_class = KeyedListSerializer\n keyed_list_serializer_field = 'id'\n```\n\nBy replacing the `list_serializer_class`, this behavior will only be enabled when the `many=True` flag is used:\n\n```\ninstance = {\n \"id\": \"pk_val\",\n \"field1\": \"val1\",\n \"field2\": \"val2\",\n ...\n}\n\nserializer = MySerializer(data=instance)\n# this should work\nserializer.is_valid()\nserializer.save()\n\nkeyed_list = {\n \"pk_val\": {\n \"field1\": \"val1\",\n \"field2\": \"val2\",\n ...\n }\n}\n\n# many=True will trigger the keyed-list behavior\nserializer = MySerializer(data=keyed_list, many=True)\n# this should also work\nserializer.is_valid()\nserializer.save()\n```\n\nNOTE: `keyed_list_serializer_field` ***MUST*** refer to a Unique field or key collision may occur during serialization,\nplus undefined deserializaiton behavior if used in combination with nested writable serializers (e.g.\n[drf-writable-nested](https://github.com/beda-software/drf-writable-nested)). At this time, the package does not\nmake any effort to verify that a Unique field has been selected.\n\nAuthors\n=======\n2018, Clayton Daley III\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": "http://github.com/claytondaley/drf-keyed-list", "keywords": "drf restframework rest_framework django_rest_framework serializers drf_mapped_nested", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "drf-keyed-list", "package_url": "https://pypi.org/project/drf-keyed-list/", "platform": "", "project_url": "https://pypi.org/project/drf-keyed-list/", "project_urls": { "Homepage": "http://github.com/claytondaley/drf-keyed-list" }, "release_url": "https://pypi.org/project/drf-keyed-list/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.0.2" }, "last_serial": 5193628, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "3bffdb7e58845dd1fd63d570fd4b162e", "sha256": "8a6809386af79787a4dae486e4234d485066057eeef025c63fc07a292b7bf9f1" }, "downloads": -1, "filename": "drf-keyed-list-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3bffdb7e58845dd1fd63d570fd4b162e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6684, "upload_time": "2018-12-07T16:45:46", "url": "https://files.pythonhosted.org/packages/6f/0a/4e2e0bea2358acb088355a31b15edd23f67545534f783e453efcafaa7f82/drf-keyed-list-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "e6362b135481d170f6e77785a5a218b7", "sha256": "ac14f11db56b83eba15524c560fe217aadcb2363c39343673ef17bcb0000fc7b" }, "downloads": -1, "filename": "drf_keyed_list-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e6362b135481d170f6e77785a5a218b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7498, "upload_time": "2019-04-26T15:31:26", "url": "https://files.pythonhosted.org/packages/36/f2/4dbac73a8d6f718317035cb0aaefff53a561596d5b94b57fceca4d11c17a/drf_keyed_list-0.0.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e6362b135481d170f6e77785a5a218b7", "sha256": "ac14f11db56b83eba15524c560fe217aadcb2363c39343673ef17bcb0000fc7b" }, "downloads": -1, "filename": "drf_keyed_list-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e6362b135481d170f6e77785a5a218b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7498, "upload_time": "2019-04-26T15:31:26", "url": "https://files.pythonhosted.org/packages/36/f2/4dbac73a8d6f718317035cb0aaefff53a561596d5b94b57fceca4d11c17a/drf_keyed_list-0.0.2-py3-none-any.whl" } ] }