{ "info": { "author": "RaPoSpectre", "author_email": "rapospectre@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "Django Simple Serializer\n========================\n\n--------------\n\n[English Doc][1]\n\nDjango Simple Serializer \u662f\u4e00\u4e2a\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u5c06 Django \u6570\u636e\u6216\u8005\npython data \u5e8f\u5217\u5316\u4e3a json\\|raw \u6570\u636e\u3002\n\n\u4e3a\u4ec0\u4e48\u8981\u7528 Django Simple Serializer ?\n-------------------------------------\n\n\u5bf9\u4e8e\u5e8f\u5217\u5316 Django \u6570\u636e\u7684\u89e3\u51b3\u65b9\u6848\u5df2\u7ecf\u6709\u4ee5\u4e0b\u51e0\u79cd\uff1a\n\ndjango.core.serializers\n~~~~~~~~~~~~~~~~~~~~~~~\n\nDjango\u5185\u5efa\u5e8f\u5217\u5316\u5668, \u5b83\u53ef\u4ee5\u5e8f\u5217\u5316Django model query set\n\u4f46\u65e0\u6cd5\u76f4\u63a5\u5e8f\u5217\u5316\u5355\u72ec\u7684Django model\u6570\u636e\u3002\u5982\u679c\u4f60\u7684model\u91cc\u542b\u6709\u6df7\u5408\u6570\u636e ,\n\u8fd9\u4e2a\u5e8f\u5217\u5316\u5668\u540c\u6837\u65e0\u6cd5\u4f7f\u7528(\u5982\u679c\u4f60\u60f3\u76f4\u63a5\u4f7f\u7528\u5e8f\u5217\u5316\u6570\u636e). \u9664\u6b64\u4e4b\u5916,\n\u5982\u679c\u4f60\u60f3\u76f4\u63a5\u628a\u5e8f\u5217\u5316\u6570\u636e\u8fd4\u56de\u7ed9\u7528\u6237,\u663e\u7136\u5b83\u5305\u542b\u4e86\u5f88\u591a\u654f\u611f\u53ca\u5bf9\u7528\u6237\u65e0\u7528\u5bf9\u4fe1\u606f\u3002\n\nQuerySet.values()\n~~~~~~~~~~~~~~~~~\n\n\u548c\u4e0a\u9762\u4e00\u6837, QuerySet.values() \u540c\u6837\u6ca1\u6cd5\u5de5\u4f5c\u5982\u679c\u4f60\u7684model\u91cc\u6709\nDateTimeField \u6216\u8005\u5176\u4ed6\u7279\u6b8a\u7684 Field \u4ee5\u53ca\u989d\u5916\u6570\u636e\u3002\n\ndjango-rest-framework serializers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\ndjango-rest-framework \u662f\u4e00\u4e2a\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u6784\u5efa REST API \u7684\u5f3a\u529b\u6846\u67b6\u3002\n\u4ed6\u62e5\u6709\u5b8c\u5584\u7684\u5e8f\u5217\u5316\u5668\uff0c\u4f46\u5728\u4f7f\u7528\u4e4b\u524d\u4f60\u9700\u8981\u82b1\u8d39\u4e00\u4e9b\u65f6\u95f4\u5165\u95e8, \u5e76\u5b66\u4e60 cbv\n\u7684\u5f00\u53d1\u65b9\u5f0f, \u5bf9\u4e8e\u6709\u65f6\u95f4\u9700\u6c42\u7684\u9879\u76ee\u663e\u7136\u8fd9\u4e0d\u662f\u6700\u597d\u7684\u89e3\u51b3\u65b9\u6848\u3002\n\ndjango simple serializer\n~~~~~~~~~~~~~~~~~~~~~~~~\n\n\u6211\u5e0c\u671b\u53ef\u4ee5\u5feb\u901f\u7b80\u5355\u7684\u5e8f\u5217\u5316\u6570\u636e,\n\u6240\u4ee5\u6211\u8bbe\u8ba1\u4e86\u4e00\u79cd\u53ef\u4ee5\u4e0d\u7528\u4efb\u4f55\u989d\u5916\u7684\u914d\u7f6e\u4e0e\u5b66\u4e60\u800c\u5c06Django data \u6216\u8005 python\ndata \u5e8f\u5217\u5316\u4e3a\u76f8\u5e94\u7684\u6570\u636e\u7684\u7b80\u5355\u7684\u65b9\u5f0f\u3002 \u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48\u6211\u5199\u4e86 django simple\nserializer\u3002\n\ndjango simple serializer \u7684\u5b9e\u9645\u4f8b\u5b50: `\u6211\u7684\u4e2a\u4eba\u7f51\u7ad9\u540e\u53f0\u6570\u636e\u63a5\u53e3`_\n\n--------------\n\n\u8fd0\u884c\u9700\u6c42\n--------\n\nPython 2:\n~~~~~~~~~\n\nDjango >= 1.5\n\nPython >= 2.6\n\nPython 3:\n~~~~~~~~~\n\nDjango >= 1.8\n\nPython >= 3\n\n\u5b89\u88c5\n----\n\nInstall using pip:\n\n::\n\n pip install django-simple-serializer\n\n\u4f7f\u7528 django simple serializer \u8fdb\u884c\u5f00\u53d1\n--------------------------------------\n\n\u5e8f\u5217\u5316Django data\n~~~~~~~~~~~~~~~~~\n\n\u5047\u8bbe\u6211\u4eec\u6709\u4ee5\u4e0bDjango models\uff1a\n\n::\n\n class Classification(models.Model):\n c_name = models.CharField(max_length=30, unique=True)\n\n class Article(models.Model):\n caption = models.CharField(max_length=50)\n classification = models.ForeignKey(Classification, related_name='cls_art')\n content = models.TextField()\n publish = models.BooleanField(default=False)\n\n\u4f7f\u7528django simple serializer\u7684\u7b80\u5355\u4f8b\u5b50\uff1a\n\n::\n\n from dss.Serializer import serializer\n article_list = Article.objects.all()\n data = serializer(article_list)\n\ndata:\n\n::\n\n [{'read_count': 0, 'create_time': 1432392456.0, 'modify_time': 1432392456.0, 'sub_caption': u'first', 'comment_count': 0, u'id': 31}, {'read_count': 0, 'create_time': 1432392499.0, 'modify_time': 1432392499.0, 'sub_caption': u'second', 'comment_count': 0, u'id': 32}]\n\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b, \u5e8f\u5217\u5668\u4f1a\u8fd4\u56de\u4e00\u4e2a list \u6216\u8005 dict(\u5bf9\u4e8e\u5355\u4e2amodel\u5b9e\u4f8b),\n\u4f60\u53ef\u4ee5\u8bbe\u7f6e\u53c2\u6570 \u201coutput\\_type\u201d \u6765\u51b3\u5b9a\u5e8f\u5217\u5668\u8fd4\u56de json/raw.\n\n--------------\n\nAPI \u624b\u518c\n--------\n\ndss.Serializer\n^^^^^^^^^^^^^^\n\n\u63d0\u4f9b\u5e8f\u5217\u5668\n\n*function* serializer(\\ *data, datetime\\_format=\u2018timestamp\u2019,\noutput\\_type=\u2018raw\u2019, include\\_attr=None, exclude\\_attr=None,\nforeign=False, many=False, through=True*)\n\nParameters:\n^^^^^^^^^^^\n\n- data(\\ *Required*\\ \\|(QuerySet, Page, list, django model\n object))-\u5f85\u5904\u7406\u6570\u636e\n- datetime\\_format(\\ *Optional*\\ \\|string)-\u5982\u679c\u5305\u542b datetime \u5c06\n datetime \u8f6c\u6362\u6210\u76f8\u5e94\u683c\u5f0f.\u9ed8\u8ba4\u4e3a \u201ctimestamp\u201d\uff08\u65f6\u95f4\u6233\uff09\n- output\\_type(\\ *Optional*\\ \\|string)-serialize type.\n \u9ed8\u8ba4\u201craw\u201d\u539f\u59cb\u6570\u636e\uff0c\u5373\u8fd4\u56delist\u6216dict\n- include\\_attr(\\ *Optional*\\ \\|(list, tuple))-\u53ea\u5e8f\u5217\u5316 include\\_attr\n \u5217\u8868\u91cc\u7684\u5b57\u6bb5\u3002\u9ed8\u8ba4\u4e3a None\n- exclude\\_attr(\\ *Optional*\\ \\|(list, tuple))-\u4e0d\u5e8f\u5217\u5316 exclude\\_attr\n \u5217\u8868\u91cc\u7684\u5b57\u6bb5\u3002\u9ed8\u8ba4\u4e3a None\n- foreign(\\ *Optional*\\ \\|bool)-\u662f\u5426\u5e8f\u5217\u5316 ForeignKeyField\n \u3002include\\_attr \u4e0e exclude\\_attr \u5bf9 ForeignKeyField \u4f9d\u65e7\u6709\u6548\u3002 \u9ed8\u8ba4\u4e3a\n False\n- many(\\ *Optional*\\ \\|bool)-\u662f\u5426\u5e8f\u5217\u5316 ManyToManyField \u3002include\\_attr\n \u4e0e exclude\\_attr \u5bf9 ManyToManyField \u4f9d\u65e7\u6709\u6548 \u9ed8\u8ba4\u4e3a False\n- through(\\ *Optional*\\ \\|bool)-\u662f\u5426\u5e8f\u5217\u5316 ManyToManyField \u4e2d through\n \u5c5e\u6027\u6570\u636e \u9ed8\u8ba4\u4e3a True\n\n.. _\u6211\u7684\u4e2a\u4eba\u7f51\u7ad9\u540e\u53f0\u6570\u636e\u63a5\u53e3: https://github.com/bluedazzle/django-vue.js-blog/blob/master/api/views.py\n\u7528\u6cd5:\n^^^^^\n\n**datetime\\_format:**\n\n+--------------+------------------------------------------------------+\n| parameters | intro |\n+==============+======================================================+\n| string | \u8f6c\u6362 datetime \u4e3a\u5b57\u7b26\u4e32\u3002\u5982\uff1a \u201c2015-05-10 10:19:22\u201d |\n+--------------+------------------------------------------------------+\n| timestamp | \u8f6c\u6362 datetime \u4e3a\u65f6\u95f4\u6233\u3002\u5982\uff1a \u201c1432124420.0\u201d |\n+--------------+------------------------------------------------------+\n\n\u4f8b\u5b50:\n\n::\n\n from dss.Serializer import serializer\n article_list = Article.objects.all()\n data = serializer(article_list, datetime_format='string', output_type='json')\n\ndata:\n\n::\n\n [\n {\n \"read_count\": 0,\n \"sub_caption\": \"first\",\n \"publish\": true,\n \"content\": \"first article\",\n \"caption\": \"first\",\n \"comment_count\": 0,\n \"create_time\": \"2015-05-23 22:47:36\",\n \"modify_time\": \"2015-05-23 22:47:36\",\n \"id\": 31\n },\n {\n \"read_count\": 0,\n \"sub_caption\": \"second\",\n \"publish\": false,\n \"content\": \"second article\",\n \"caption\": \"second\",\n \"comment_count\": 0,\n \"create_time\": \"2015-05-23 22:48:19\",\n \"modify_time\": \"2015-05-23 22:48:19\",\n \"id\": 32\n }\n ]\n\n**output\\_type**\n\n+--------------+----------------------------------------------------+\n| parameters | intro |\n+==============+====================================================+\n| raw | \u5c06list\u6216dict\u4e2d\u7684\u7279\u6b8a\u5bf9\u8c61\u5e8f\u5217\u5316\u540e\u8f93\u51fa\u4e3alist\u6216dict |\n+--------------+----------------------------------------------------+\n| dict | \u540c raw |\n+--------------+----------------------------------------------------+\n| json | \u8f6c\u6362\u6570\u636e\u4e3a json |\n+--------------+----------------------------------------------------+\n\n[STRIKEOUT:xml \u8f6c\u6362\u6570\u636e\u4e3a xml] (\u6682\u65f6\u53bb\u9664)\n\n\u4f8b\u5b50:\n\n::\n\n from dss.Serializer import serializer\n article_list = Article.objects.all()[0]\n data = serializer(article_list, output_type='json')\n\ndata:\n\n::\n\n {\n \"read_count\": 0,\n \"sub_caption\": \"first\",\n \"publish\": true,\n \"content\": \"first article\",\n \"caption\": \"first\",\n \"comment_count\": 0,\n \"create_time\": \"2015-05-23 22:47:36\",\n \"modify_time\": \"2015-05-23 22:47:36\",\n \"id\": 31\n }\n\n**include\\_attr**\n\n\u4f8b\u5b50:\n\n::\n\n from dss.Serializer import serializer\n article_list = Article.objects.all()\n data = serializer(article_list, output_type='json', include_attr=('content', 'caption',))\n\ndata:\n\n::\n\n [\n {\n \"content\": \"first article\",\n \"caption\": \"first\"\n },\n {\n \"content\": \"second article\",\n \"caption\": \"second\"\n }\n ]\n\n**exclude\\_attr**\n\n\u4f8b\u5b50:\n\n::\n\n from dss.Serializer import serializer\n article_list = Article.objects.all()\n data = serializer(article_list, output_type='json', exclude_attr=('content',))\n\ndata:\n\n::\n\n [\n {\n \"read_count\": 0,\n \"sub_caption\": \"first\",\n \"publish\": true,\n \"caption\": \"first\",\n \"comment_count\": 0,\n \"create_time\": 1432392456,\n \"modify_time\": 1432392456,\n \"id\": 31\n },\n {\n \"read_count\": 0,\n \"sub_caption\": \"second\",\n \"publish\": false,\n \"caption\": \"second\",\n \"comment_count\": 0,\n \"create_time\": 1432392499,\n \"modify_time\": 1432392499,\n \"id\": 32\n }\n ]\n\n\n**foreign**", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bluedazzle/django-simple-serializer", "keywords": "django serializer", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-simple-serializer", "package_url": "https://pypi.org/project/django-simple-serializer/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-simple-serializer/", "project_urls": { "Homepage": "https://github.com/bluedazzle/django-simple-serializer" }, "release_url": "https://pypi.org/project/django-simple-serializer/2.0.7/", "requires_dist": null, "requires_python": "", "summary": "Django Simple Serializer is a serializer to help user serialize django data or python list into json,xml,dict data in a simple way.", "version": "2.0.7" }, "last_serial": 2834338, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "47d7528fafd932d3bb5605d932fc5564", "sha256": "6cbf81a46f1feb24697e3ac4d93047bb4724d85144e8bc8f108fc5df5c652410" }, "downloads": -1, "filename": "django-simple-serializer-0.0.2.tar.gz", "has_sig": false, "md5_digest": "47d7528fafd932d3bb5605d932fc5564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2845, "upload_time": "2015-05-23T17:04:09", "url": "https://files.pythonhosted.org/packages/10/d3/01c7870d73a684624bedccf9ccdc7fc9f1a7c6fb07056fc7126efbfc2fa5/django-simple-serializer-0.0.2.tar.gz" } ], "1.0.0": [], "1.0.2": [ { "comment_text": "", "digests": { "md5": "df054d6337aabf2245dd329125462c61", "sha256": "11fbbb3888fd7d6b7604c4eead217c3c30a46cd8e004acea47a8b27662a18e3c" }, "downloads": -1, "filename": "django-simple-serializer-1.0.2.tar.gz", "has_sig": false, "md5_digest": "df054d6337aabf2245dd329125462c61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3711, "upload_time": "2015-10-16T06:37:27", "url": "https://files.pythonhosted.org/packages/a5/e1/ed760c37dfb1a173ce2cfbca5f1cfa46a0045909026580ed0ad18898ba34/django-simple-serializer-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "4ee3af61e2c874ee44f6c895b30dd79a", "sha256": "439d560a343ffeb339a361558f95b5b910c785f320ca2d3ad74a187c44c5ff14" }, "downloads": -1, "filename": "django-simple-serializer-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4ee3af61e2c874ee44f6c895b30dd79a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3709, "upload_time": "2015-10-16T06:42:26", "url": "https://files.pythonhosted.org/packages/c6/f6/15c69935f12d2362a6f571bb53526b2287190209d825220afc265abc5e4e/django-simple-serializer-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "f5a6a99418efaf664f1072d55e2353ee", "sha256": "919f708c52889eaf2bc410625b30a23e21e7aeb9e0308057ed28159548693e78" }, "downloads": -1, "filename": "django-simple-serializer-1.0.4.tar.gz", "has_sig": false, "md5_digest": "f5a6a99418efaf664f1072d55e2353ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5346, "upload_time": "2015-10-16T07:02:47", "url": "https://files.pythonhosted.org/packages/f2/49/ee6fac6ef19f3fdefc1526a15c8ae3c951a2342cc8dd01aa3c5a66b90637/django-simple-serializer-1.0.4.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "1404df307b84438094ab6724065fd5ae", "sha256": "ec3fd34435a5023bd7ef990524647437a49b5e719f8c62922cc692d4656c4701" }, "downloads": -1, "filename": "django-simple-serializer-2.0.0.tar.gz", "has_sig": false, "md5_digest": "1404df307b84438094ab6724065fd5ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5444, "upload_time": "2016-06-15T02:35:12", "url": "https://files.pythonhosted.org/packages/7f/67/6cc916dec8662d4dca86b65c92ac44f97b20a525b0d3c9fd5d1328e14867/django-simple-serializer-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "57c3cbd91ddb51adca981f644a51c70e", "sha256": "b3c0a235c965990e8a784d8e7953666ae14a4a42b1e01226c418e5054e483a3a" }, "downloads": -1, "filename": "django-simple-serializer-2.0.1.tar.gz", "has_sig": false, "md5_digest": "57c3cbd91ddb51adca981f644a51c70e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5385, "upload_time": "2016-06-15T02:49:56", "url": "https://files.pythonhosted.org/packages/9b/9a/a02ff172146a7b7c165982d21bb227cc8e8bedb438938583672390a7225a/django-simple-serializer-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "b9818bd93143dc283240e02cf74a01fc", "sha256": "8dd07cabedb75d01abb1e51d86037044b201e8672fd70b82608e7edbf18f014e" }, "downloads": -1, "filename": "django-simple-serializer-2.0.2.tar.gz", "has_sig": false, "md5_digest": "b9818bd93143dc283240e02cf74a01fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5374, "upload_time": "2016-06-22T04:26:57", "url": "https://files.pythonhosted.org/packages/94/0f/529bb507400d61f19296fefdcf1cef295248e13d025bc70b72edc48e89f8/django-simple-serializer-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "f2cb520baa904acf61dd88e6d6b67a5a", "sha256": "dac7f6e57d9737eca5653c31e870b6f162269c2db44325c107fc430cc2f5391f" }, "downloads": -1, "filename": "django-simple-serializer-2.0.3.tar.gz", "has_sig": false, "md5_digest": "f2cb520baa904acf61dd88e6d6b67a5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5370, "upload_time": "2016-10-19T02:56:14", "url": "https://files.pythonhosted.org/packages/1c/ff/bc3fb540dd45513d5fe074bd62c09568fccb00e7dd23806405b9f746bfe6/django-simple-serializer-2.0.3.tar.gz" } ], "2.0.4": [], "2.0.5": [ { "comment_text": "", "digests": { "md5": "4a480bcc00e2045fac7a401b763ad26b", "sha256": "5a9ef651649ed9a2fc4f8d7c96526b47eea26e140be24c7d7d472a4027cb93ef" }, "downloads": -1, "filename": "django-simple-serializer-2.0.5.tar.gz", "has_sig": false, "md5_digest": "4a480bcc00e2045fac7a401b763ad26b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5607, "upload_time": "2017-02-25T07:32:07", "url": "https://files.pythonhosted.org/packages/b3/11/55f088a5b925c9d13fef1df383911a9ccc884b5bcbf98d7c6085fd42e732/django-simple-serializer-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "9853e8c289b001d5e691ae13faaf4111", "sha256": "5d1d94d7f9fec3dec95181e4b51400ad4db58fb4f756c1035c79bd8f821c53de" }, "downloads": -1, "filename": "django-simple-serializer-2.0.6.tar.gz", "has_sig": false, "md5_digest": "9853e8c289b001d5e691ae13faaf4111", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5556, "upload_time": "2017-03-22T05:16:20", "url": "https://files.pythonhosted.org/packages/e1/f6/3006588ea230af5c7d7951b68e7b2fba545fc61ff4321334d9f25f27680e/django-simple-serializer-2.0.6.tar.gz" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "356520385602e5bb59e380e3759186f0", "sha256": "81831e5da924ca7b560b877269e6c5b68cd6983685448e1e0fae32e2593e57cf" }, "downloads": -1, "filename": "django-simple-serializer-2.0.7.tar.gz", "has_sig": false, "md5_digest": "356520385602e5bb59e380e3759186f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11083, "upload_time": "2017-04-27T12:42:09", "url": "https://files.pythonhosted.org/packages/bd/6d/7c3ddf3a7429d9dda83c1dbbab6c83eed0f3302d47f4b15728a2ea589300/django-simple-serializer-2.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "356520385602e5bb59e380e3759186f0", "sha256": "81831e5da924ca7b560b877269e6c5b68cd6983685448e1e0fae32e2593e57cf" }, "downloads": -1, "filename": "django-simple-serializer-2.0.7.tar.gz", "has_sig": false, "md5_digest": "356520385602e5bb59e380e3759186f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11083, "upload_time": "2017-04-27T12:42:09", "url": "https://files.pythonhosted.org/packages/bd/6d/7c3ddf3a7429d9dda83c1dbbab6c83eed0f3302d47f4b15728a2ea589300/django-simple-serializer-2.0.7.tar.gz" } ] }