{ "info": { "author": "Peng Shiyu", "author_email": "pengshiyuyx@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6" ], "description": "pythink\n=======\n\n|PyPI - Python Version| |PyPI| |PyPI - Downloads|\n\n\u7075\u611f\u6765\u81ea\u4e8eThinkPHP \u90e8\u5206\u4ee3\u7801\u5b9e\u73b0\u53c2\u8003\u4e86 records\n\n\u6839\u636e\u73b0\u6709\u4e1a\u52a1 \u5b9e\u73b0\u4e86\u7b80\u5355\u7684\u589e\u5220\u6539\u67e5\uff0c \u53ef\u4ee5\u7528\u4f5c\u65e5\u5e38\u52a9\u624b\n\n\u4f9d\u8d56\uff1a\n\n::\n\n SQLAlchemy>=1.2.8\n\n ps\uff1a\u539f\u6765\u57fa\u4e8epeewee\u5b9e\u73b0\u7684\uff0c\u4e0d\u8fc7\u95ee\u9898\u8f83\u591a\uff0c\u5c31\u76f4\u63a5\u7528SQLAlchemy\n\n\u5b89\u88c5\n====\n\n::\n\n pip install pythink\n\n\u5feb\u901f\u5f00\u59cb\n========\n\n\u65b0\u5efa\u8868\n\n.. code:: sql\n\n CREATE TABLE `student` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n `name` varchar(20) DEFAULT '',\n `age` int(11),\n `create_time` datetime DEFAULT NULL,\n PRIMARY KEY (`id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8\n\n\u4ee3\u7801\u793a\u4f8b\n\n1\u3001\u8fde\u63a5\u6570\u636e\u5e93\uff0c\u521b\u5efaModel\n\n.. code:: python\n\n # -*- coding: utf-8 -*-\n\n from pythink import ThinkModel, ThinkDatabase\n\n db_url = \"mysql://root:123456@127.0.01:3306/demo\"\n db = ThinkDatabase(db_url)\n\n\n class StudentThinkModel(ThinkModel):\n table_name = \"student\"\n database = db\n\n2\u3001\u63d2\u5165\u64cd\u4f5c\n\n.. code:: python\n\n\n # 1\u3001\u589e\u52a0\u5355\u6761\u8bb0\u5f55\n\n data = {\n \"name\": \"Tom\"\n }\n\n >>> StudentThinkModel.insert(data)\n >>> 1\n\n\n # 2\u3001\u589e\u52a0\u591a\u6761\u8bb0\u5f55\n data = [\n {\n \"name\": \"Tom\",\n },\n {\n \"name\": \"Jack\"\n }\n ]\n\n >>> StudentThinkModel.insert(data)\n >>> 2\n\n\n\n # 3\u3001\u63d2\u5165\u591a\u6761 \u5206\u6bb5\u63d2\u5165\n data = [\n {\n \"name\": \"Tom\",\n \"age\": 24,\n },\n {\n \"name\": \"Tom\",\n \"age\": 25,\n },\n {\n \"name\": \"Tom\",\n \"age\": 26,\n },\n {\n \"name\": \"Tom\",\n \"age\": 27,\n },\n {\n \"name\": \"Tom\",\n \"age\": 28,\n },\n {\n \"name\": \"Tom\",\n \"age\": 29,\n }\n ]\n\n # \u6bcf\u6b21\u63d2\u51653 \u6761\u6570\u636e\n >>> StudentThinkModel.insert(data, truncate=3)\n >>> 6\n\n3\u3001\u67e5\u8be2\u64cd\u4f5c\n\n.. code:: python\n\n\n # 1\u3001\u67e5\u8be2\u6570\u91cf\n >>> StudentThinkModel.count()\n >>> 24\n\n\n\n # 2\u3001\u67e5\u8be2\u8bb0\u5f55\n rows = StudentThinkModel.select([\"name\", \"age\"], where=\"id>25\", limit=5)\n for row in rows:\n print(row.name, row.age)\n\n\n # ('Tom', 25L)\n # ('Tom', 26L)\n # ('Tom', 27L)\n # ('Tom', 28L)\n # ('Tom', 29L)\n\n4\u3001\u66f4\u65b0\u64cd\u4f5c\n\n.. code:: python\n\n\n # \u6761\u4ef6\u66f4\u65b0\n data = {\n \"name\": \"tom\",\n \"age\": 30\n }\n\n >>> StudentThinkModel.update(data, \"id=25\")\n >>> 1\n\n5\u3001\u5220\u9664\u64cd\u4f5c\n\n.. code:: python\n\n\n # \u5220\u9664\n >>> StudentThinkModel.delete(\"id=13\")\n >>> 1\n\n\u5f53\u7136\uff0c\u4e5f\u53ef\u4ee5\u4e0d\u5199\u8868\u540d\uff0c\u5c31\u50cf\uff08\u7701\u7565\u90e8\u5206\u4ee3\u7801\uff09\n\n.. code:: python\n\n class BaseThinkModel(ThinkModel):\n database = db\n\n\n class StudentThinkModel(BaseThinkModel):\n \"\"\"\n \u5b66\u751f\u7c7b\n \u4f1a\u88ab\u81ea\u52a8\u8f6c\u4e3a \u5c0f\u5199\u547d\u540d\u65b9\u5f0f\uff1astudent\n \"\"\"\n\n\u66f4\u591a\u5173\u4e8e\u4f7f\u7528\u793a\u4f8b\uff1a ThinkDatabase\nhttps://github.com/mouday/PyThink/blob/master/test\\_database.py\n\nThinkModel\nhttps://github.com/mouday/PyThink/blob/master/test\\_modle\\_extend.py\n\n\u66f4\u65b0\u8bb0\u5f55\n========\n\n- \u90e8\u5206\u7248\u672c\u53ef\u80fd\u5b58\u5728\u4e0d\u517c\u5bb9\uff0c\u5c5e\u4e8e\u6b63\u5e38\u73b0\u8c61\uff0c\u540e\u7eed\u7248\u672c\u4f1a\u8d8b\u4e8e\u7a33\u5b9a\n\n+--------------+----------+--------------------------------------------+\n| \u65f6\u95f4 | \u7248\u672c | \u4e3b\u8981\u66f4\u65b0 |\n+==============+==========+============================================+\n| 2019-04-14 | v0.0.1 | \u57fa\u4e8epeewee \u5b9e\u73b0\u57fa\u672c\u7684CURD |\n+--------------+----------+--------------------------------------------+\n| 2019-04-20 | v0.0.2 | \u589e\u5f3aModel\u7684\u529f\u80fd,\u914d\u7f6e\u81ea\u52a8\u5b8c\u6210\u5b57\u6bb5 |\n+--------------+----------+--------------------------------------------+\n| 2019-04-26 | v0.0.3 | \u6dfb\u52a0\u591a\u884c\u63d2\u5165\u529f\u80fd |\n+--------------+----------+--------------------------------------------+\n| 2019-04-27 | v0.0.4 | \u5c06update\u3001delete\u4fee\u6539\u5f97\u66f4\u901a\u7528 |\n+--------------+----------+--------------------------------------------+\n| 2019-04-30 | v0.0.5 | \u57fa\u4e8eSQLAlchemy\u91cd\u5199\u903b\u8f91\uff0c\u5b8c\u6210\u591a\u884c\u5206\u6b21\u63d2\u5165 |\n+--------------+----------+--------------------------------------------+\n| 2019-04-30 | v0.0.6 | \u4fee\u590d\u5b89\u88c5\u62a5\u9519\u7684\u95ee\u9898 |\n+--------------+----------+--------------------------------------------+\n| 2019-05-10 | v0.0.7 | \u6dfb\u52a0\u81ea\u52a8\u8f6c\u4e3a\u7c7b\u540d\u4e3a\u8868\u540d |\n+--------------+----------+--------------------------------------------+\n| 2019-05-15 | v0.0.8 | \u7ed9Model\u6dfb\u52a0\u4e00\u4e9b\u5feb\u6377\u65b9\u5f0f |\n+--------------+----------+--------------------------------------------+\n\n.. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/pythink.svg\n.. |PyPI| image:: https://img.shields.io/pypi/v/pythink.svg\n.. |PyPI - Downloads| image:: https://img.shields.io/pypi/dm/pythink.svg?style=flat-square\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mouday/PyThink", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pythink", "package_url": "https://pypi.org/project/pythink/", "platform": "", "project_url": "https://pypi.org/project/pythink/", "project_urls": { "Homepage": "https://github.com/mouday/PyThink" }, "release_url": "https://pypi.org/project/pythink/0.0.9/", "requires_dist": [ "SQLAlchemy (>=1.2.8)", "PyMySQL (>=0.9.3)" ], "requires_python": "", "summary": "simple CURD of mysql for python", "version": "0.0.9" }, "last_serial": 5306432, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "92890dfc9dde1ea1868c1c0b855953d8", "sha256": "83fe78fd9c43a3534346acdf4fb5c2c7fb93e55090a0dea3e6204b7307d5ad0f" }, "downloads": -1, "filename": "pythink-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "92890dfc9dde1ea1868c1c0b855953d8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6302, "upload_time": "2019-04-13T16:48:05", "url": "https://files.pythonhosted.org/packages/a8/6d/84a4da1564b692bd39bae9402dbed106247c4297f91f4edebaee096b3848/pythink-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3caee1d5802fa743ad33081aed4ca03d", "sha256": "5d63ca27e810d31cdb37c6b5396178abc2c34a0c1546a2c790aac6f11d4b513b" }, "downloads": -1, "filename": "pythink-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3caee1d5802fa743ad33081aed4ca03d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5524, "upload_time": "2019-04-13T16:48:08", "url": "https://files.pythonhosted.org/packages/49/c6/27e0247e149032fe3fc83b753fb1fc0c2835425dc1df3c14feeb3b257ac5/pythink-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "e687e4065db612ad501dfb63c503f1cb", "sha256": "ba84f10cfab568197a08b766972779ba4b506bcc0845063c887e86e6b6890a87" }, "downloads": -1, "filename": "pythink-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "e687e4065db612ad501dfb63c503f1cb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7439, "upload_time": "2019-04-20T12:36:58", "url": "https://files.pythonhosted.org/packages/5d/91/4416baf9ea2ff2be79a1c6ad3df2eb4bd42f2e01f2f2df383068f710470d/pythink-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "479293804f5810c66eab644b45b09891", "sha256": "1c1a854580252fbc1a97815233cbd0a92e7a08641a82e8395d9fd5ae192a17f9" }, "downloads": -1, "filename": "pythink-0.0.2.tar.gz", "has_sig": false, "md5_digest": "479293804f5810c66eab644b45b09891", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6190, "upload_time": "2019-04-20T12:37:00", "url": "https://files.pythonhosted.org/packages/44/83/303217b7a5ab129493b3f62679b87218332cb05eac255f0d3d7609a3795d/pythink-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "dae544cb6011f5230f8dba5c1a983955", "sha256": "4fb4b43d4b3222b676b7fc913068b25f658b9453efe1b4545b9cdec10e89ccb7" }, "downloads": -1, "filename": "pythink-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "dae544cb6011f5230f8dba5c1a983955", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8432, "upload_time": "2019-04-26T07:45:00", "url": "https://files.pythonhosted.org/packages/1a/31/69d82b089a18781935b476a7d40f66dbd922025ce3f2459e8866e9e47086/pythink-0.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac4fdf16224b846b0e025cd8c9d12e27", "sha256": "1fd5093e0b42b5c9fe5e357743df6a7b5921433fef087c38a3acab8c748a8b67" }, "downloads": -1, "filename": "pythink-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ac4fdf16224b846b0e025cd8c9d12e27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6976, "upload_time": "2019-04-26T07:45:02", "url": "https://files.pythonhosted.org/packages/d0/f7/5ad15de7381ebd235640cbaef32bcf24759233fd351da84e37cb58a2fff6/pythink-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "38a319d8587d04314bab99781cf08ff6", "sha256": "4500059531eb28ac7ae39a779367e41a5b0d465e43a0e61f94fdce6c4eaccf33" }, "downloads": -1, "filename": "pythink-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "38a319d8587d04314bab99781cf08ff6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8960, "upload_time": "2019-04-27T06:53:01", "url": "https://files.pythonhosted.org/packages/43/ad/22908a7c4db64cacaa7e46f61c7a882617124b96471ccc4db36a579c6d08/pythink-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0ef9cd251a8825fe7e23013e8196143", "sha256": "7195190a86663c527d1db6890ae42713880f785300f700f5f4b62db74cc796e6" }, "downloads": -1, "filename": "pythink-0.0.4.tar.gz", "has_sig": false, "md5_digest": "f0ef9cd251a8825fe7e23013e8196143", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7385, "upload_time": "2019-04-27T06:53:04", "url": "https://files.pythonhosted.org/packages/1b/25/64778d059400bbf141e28d59b3ce48d5bd2d5f404c3ae6256786dc3989d8/pythink-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "0293bc6ddfc6772961c3acd96fd8379a", "sha256": "dfa2c94f7c8c69f99ef499954bad34f6c5b684f5960fa2c6e1d43b355f732bf2" }, "downloads": -1, "filename": "pythink-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "0293bc6ddfc6772961c3acd96fd8379a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11047, "upload_time": "2019-04-30T10:09:02", "url": "https://files.pythonhosted.org/packages/6e/50/cafbc2619e94c3f519ac3ca06d30a5a2d8689b0a5f0e14369fd6552fbf83/pythink-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afb59297bbd887091a9e22ecbf062509", "sha256": "7649dd9898c99c4f915eafaaeae0531338d68e82daa4114a442d0c9f43e7ef02" }, "downloads": -1, "filename": "pythink-0.0.5.tar.gz", "has_sig": false, "md5_digest": "afb59297bbd887091a9e22ecbf062509", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9607, "upload_time": "2019-04-30T10:09:08", "url": "https://files.pythonhosted.org/packages/cd/06/85de5b5cf2e1e9ce13dc968ad4715e0ff15e7b8c0348bb7b1ffcb38bd606/pythink-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "4356b5f0713f945f602ab06ab0c08190", "sha256": "f30b5f6b08717ef88123e4c52f8a0dca556b1f24e02c0a04d80e012110c83c7e" }, "downloads": -1, "filename": "pythink-0.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "4356b5f0713f945f602ab06ab0c08190", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10643, "upload_time": "2019-04-30T10:33:24", "url": "https://files.pythonhosted.org/packages/b8/4b/902628af473ee1a30371f87c3c304402f059fa557f1cfd6a91f9bb647967/pythink-0.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cfab0e443b30920a2e2659812128c76", "sha256": "f40f124598b7b55482b017d98179ec2ca6987dcdfe55b6992420e90d34101987" }, "downloads": -1, "filename": "pythink-0.0.6.tar.gz", "has_sig": false, "md5_digest": "8cfab0e443b30920a2e2659812128c76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10039, "upload_time": "2019-04-30T10:33:30", "url": "https://files.pythonhosted.org/packages/b7/0c/2653174720301e6e310f39a71a44f0887664a53b06ee7537c101f287bee7/pythink-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "ffd9dffc20ca31da8dfd05b097d6a55e", "sha256": "9d396aae137d23b0f06a8d2845d25560dbe43e1c0e839183c8f1ac23c5c5ad63" }, "downloads": -1, "filename": "pythink-0.0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "ffd9dffc20ca31da8dfd05b097d6a55e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11052, "upload_time": "2019-05-10T08:43:19", "url": "https://files.pythonhosted.org/packages/b4/3f/a065f23c83f50373ceb858fde030cc92a6c3f9156b4e5937ec25ad094a61/pythink-0.0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "141ce80c594e42935134ebb315068ed0", "sha256": "d49e6c70b97ad5af94cb63de71994b16c97b04b63867de017ba068ed42406600" }, "downloads": -1, "filename": "pythink-0.0.7.tar.gz", "has_sig": false, "md5_digest": "141ce80c594e42935134ebb315068ed0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10638, "upload_time": "2019-05-10T08:43:23", "url": "https://files.pythonhosted.org/packages/93/5a/ea036bcc5c34290990e7d159468f82ef5aa4854ceaf54a219849b7ea40dc/pythink-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "1f65f6805cf6b965c571131d6bae3348", "sha256": "930fa6615519ac0530dd36adde0892cc00b9a51f40c0052abccaafa2727f352d" }, "downloads": -1, "filename": "pythink-0.0.8-py2-none-any.whl", "has_sig": false, "md5_digest": "1f65f6805cf6b965c571131d6bae3348", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11500, "upload_time": "2019-05-15T07:45:11", "url": "https://files.pythonhosted.org/packages/5c/55/acc82d945748504b0bf292d4dac179d9d1ec8253922a50a9adf81d046984/pythink-0.0.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f58f1f3d64078d7728a704a96ea7c09", "sha256": "dee26cd3a8e6128a4c8b2edb6fbb88805a81d02bb45598e378aa8959f1f8a654" }, "downloads": -1, "filename": "pythink-0.0.8.tar.gz", "has_sig": false, "md5_digest": "6f58f1f3d64078d7728a704a96ea7c09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11077, "upload_time": "2019-05-15T07:45:32", "url": "https://files.pythonhosted.org/packages/74/c0/895651fb69ab9dd175c7758bc9f3328599a8d489ee7bbf598e692b438c53/pythink-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "c28fe16576363860957ffde8aaab5e06", "sha256": "678a617b30ff6240b398ca5bf90d6a0056ab7bc5ced43213a7251c715f7b196b" }, "downloads": -1, "filename": "pythink-0.0.9-py2-none-any.whl", "has_sig": false, "md5_digest": "c28fe16576363860957ffde8aaab5e06", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11627, "upload_time": "2019-05-23T08:31:47", "url": "https://files.pythonhosted.org/packages/c1/ed/1b634ee180cf6d1cef3d5cf761f1f7120aba8d4ff5d1599e17fbd677022d/pythink-0.0.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1679014969c80f3bd76a4c7657ad03b", "sha256": "3cf9bc119955bdb99d431a8e527deb9d3f62711894a301ef14753ad31dabb9d4" }, "downloads": -1, "filename": "pythink-0.0.9.tar.gz", "has_sig": false, "md5_digest": "a1679014969c80f3bd76a4c7657ad03b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11219, "upload_time": "2019-05-23T08:31:49", "url": "https://files.pythonhosted.org/packages/96/e4/f478fe7115381a2d968bd8ebc831efd2c4d2047a0d58e7d7cebcc21618c2/pythink-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c28fe16576363860957ffde8aaab5e06", "sha256": "678a617b30ff6240b398ca5bf90d6a0056ab7bc5ced43213a7251c715f7b196b" }, "downloads": -1, "filename": "pythink-0.0.9-py2-none-any.whl", "has_sig": false, "md5_digest": "c28fe16576363860957ffde8aaab5e06", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11627, "upload_time": "2019-05-23T08:31:47", "url": "https://files.pythonhosted.org/packages/c1/ed/1b634ee180cf6d1cef3d5cf761f1f7120aba8d4ff5d1599e17fbd677022d/pythink-0.0.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1679014969c80f3bd76a4c7657ad03b", "sha256": "3cf9bc119955bdb99d431a8e527deb9d3f62711894a301ef14753ad31dabb9d4" }, "downloads": -1, "filename": "pythink-0.0.9.tar.gz", "has_sig": false, "md5_digest": "a1679014969c80f3bd76a4c7657ad03b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11219, "upload_time": "2019-05-23T08:31:49", "url": "https://files.pythonhosted.org/packages/96/e4/f478fe7115381a2d968bd8ebc831efd2c4d2047a0d58e7d7cebcc21618c2/pythink-0.0.9.tar.gz" } ] }