{ "info": { "author": "lwaix", "author_email": "1494645263@qq.com", "bugtrack_url": null, "classifiers": [], "description": "##### [\u4e2d\u6587-Chinese](https://github.com/lwaix/flagbox/blob/master/README-zh.md \"\u4e2d\u6587-Chinese\")\n\n# FlagBox - a simple mysql orm for python3\n\n\n \n\n\n\n \n\n\nFunctional overview\n\n- Model-Oriented operations\n- Basic CRUD\n- Operator query\n- Automatic safety escape\n- Deadlock retry\n\n## Installing\n\n```\nshell>pip install flagbox\n```\n\n## Basic\n\n```python\nfrom flagbox import Mysql\n\n# Create a connection.Automatically create database(if it is not created)\ndb = Mysql('localhost', 'root', 'your-password', 'testdb1')\n\nclass Worker(db.Model):\n __table__ = 'worker'\n\n id = db.PrimaryKeyField()\n username = db.VarcharField(max_length=32, nullable=False, unique=True, default=None, comment=\"Worker's username\")\n password = db.VarcharField(max_length=32, nullable=False, unique=False, default=None, comment=\"Worker's password\")\n salary = db.FloatField(nullable=False, unique=False, default=0.0, comment=\"Worker's monthly salary\")\n\nWorker.create_table()\n\n# Insert\njack = Worker(username='Jack', password='JackSoHandsome', salary=3999.2)\njack.insert()\n\nmary = Worker()\nmary.username = 'Mary'\nmary.password = 'MarySoBeautiful'\nmary.insert()\n\n# Get all and get the first\nall_workers = Worker.select().all()\nthe_first_worker = Worker.select().first()\n\n# Query by operators\nrich_workers = Worker.select(Worker.salary>=3000.0).all()\n\n# Complex query by operators & and |\nworker_jack = Worker.select(\n\t((Worker.username == 'jack') & (Worker.password == 'JackSoHandsome')) | (Worker.salary=='3999.2')\n).first()\n\n# Order the rows\nthe_richest_worker = Worker.select(orders=[-Worker.salary]).first()\n\n# Use the result\nfor worker in all_workers:\n\tprint('username:{} password:{} salary:{}'.format(worker.username, worker.password, worker.salary))\nprint('And the richest worker is {}'.format(the_richest_worker.username))\n\n# Update one row\nworker_jack.salary = 3000.0\nworker_jack.update()\n\n# Delete one row\nworker_jack.delete()\n```\n\n## Else\n\n### Currently supported MySQL fields\n\nFlagBox|Mysql\n--|:--:\nPrimaryKeyField|NO\nBooleanField|BOOLEAN\nIntField|INT\nBigIntField|BIGINT\nFloatField|FLOAT\nDoubleField|DOUBLE\nVarcharField|VARCHAR\nTextField|TEXT\n\nPrimaryKeyField must be defined as the primary key.A basic definition below\n\n```python\nmydb = Mysql('localhost', 'root', 'your-passwd', 'your-database')\nclass ModelName(mydb.Model):\n __table__ = 'mytable'\n\n id = mydb.PrimaryKeyField()\n # Other fields...\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/lwaix/flagbox", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "FlagBox", "package_url": "https://pypi.org/project/FlagBox/", "platform": "", "project_url": "https://pypi.org/project/FlagBox/", "project_urls": { "Homepage": "https://github.com/lwaix/flagbox" }, "release_url": "https://pypi.org/project/FlagBox/0.21/", "requires_dist": [ "PyMySQL" ], "requires_python": "", "summary": "A simple mysql orm for python3", "version": "0.21" }, "last_serial": 4972454, "releases": { "0.21": [ { "comment_text": "", "digests": { "md5": "944d4edd60ab3b52e030d64e6f1b991b", "sha256": "b997b55c865fef227c06086709704494d72ecae23f2fc5fcc6a40ce81f69db08" }, "downloads": -1, "filename": "FlagBox-0.21-py3-none-any.whl", "has_sig": false, "md5_digest": "944d4edd60ab3b52e030d64e6f1b991b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7987, "upload_time": "2019-03-22T11:26:15", "url": "https://files.pythonhosted.org/packages/34/e4/1851ec564720b964cbd2add1df5a481c830e5da25e3fc02867536e7a8bfe/FlagBox-0.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd1267d1a9a434718ae69250858a525", "sha256": "fbe27a9daa69e9e1b7b056e05c1d70efd98f0e72c8e3991222c07437462dbfb4" }, "downloads": -1, "filename": "FlagBox-0.21.tar.gz", "has_sig": false, "md5_digest": "bfd1267d1a9a434718ae69250858a525", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8213, "upload_time": "2019-03-22T11:26:18", "url": "https://files.pythonhosted.org/packages/f3/f9/affc399990a22e19432dc22715707d896dbea91e23e0a75965a46334546c/FlagBox-0.21.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "944d4edd60ab3b52e030d64e6f1b991b", "sha256": "b997b55c865fef227c06086709704494d72ecae23f2fc5fcc6a40ce81f69db08" }, "downloads": -1, "filename": "FlagBox-0.21-py3-none-any.whl", "has_sig": false, "md5_digest": "944d4edd60ab3b52e030d64e6f1b991b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7987, "upload_time": "2019-03-22T11:26:15", "url": "https://files.pythonhosted.org/packages/34/e4/1851ec564720b964cbd2add1df5a481c830e5da25e3fc02867536e7a8bfe/FlagBox-0.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd1267d1a9a434718ae69250858a525", "sha256": "fbe27a9daa69e9e1b7b056e05c1d70efd98f0e72c8e3991222c07437462dbfb4" }, "downloads": -1, "filename": "FlagBox-0.21.tar.gz", "has_sig": false, "md5_digest": "bfd1267d1a9a434718ae69250858a525", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8213, "upload_time": "2019-03-22T11:26:18", "url": "https://files.pythonhosted.org/packages/f3/f9/affc399990a22e19432dc22715707d896dbea91e23e0a75965a46334546c/FlagBox-0.21.tar.gz" } ] }