{ "info": { "author": "danydr", "author_email": "ddv_2010@mail.ru", "bugtrack_url": null, "classifiers": [ "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "SQLite simple ORM\n=========\n\nIt is a simple and small ORM for SQLite database. \nAn object-relational mapper (ORM) is a code library that automates the \ntransfer of data stored in relational databases \ntables into objects that are more commonly used in application code.\n\n\n* python 3+ (developed with 3.7)\n* supports SQLite only\n\nInstall\n--------\n\n```bash\npip install py-sqlite-orm-danidr\n```\n\nUsage\n--------\n```python\n\nfrom sqlite_orm.database import Database\nfrom sqlite_orm.field import IntegerField, BooleanField, TextField\nfrom sqlite_orm.table import BaseTable\n\nimport logging\n\n\nclass User(BaseTable):\n __table_name__ = 'users'\n\n id = IntegerField(primary_key=True, auto_increment=True) #autoincrement int field\n name = TextField(not_null=True)\n active = BooleanField(not_null=True, default_value=1)\n\n\nclass Post(BaseTable):\n __table_name__ = 'posts'\n\n id = IntegerField(primary_key=True)\n name = TextField(not_null=True)\n id_user = IntegerField(foreign_key=User.id)\n\n\nif __name__ == '__main__':\n\n #logger configure:\n logging.basicConfig(filename=\"sample.log\", level=logging.DEBUG, format=('%(asctime)s: '\n '%(filename)s: '\n '%(levelname)s: '\n '%(funcName)s(): '\n '%(lineno)d: '\n '%(message)s'), datefmt=\"%Y-%m-%d %H:%M:%S\")\n with Database(\"test.db\") as db:\n # create table\n db.query(Post, User).create().execute()\n\n user1 = User(id=1, name='User1')\n user2 = User(id=2, name='User2')\n user3 = User(id=3, name='User3')\n\n post1 = Post(id=1, name='Post1', id_user=user1.id)\n post2 = Post(id=2, name='Post2', id_user=user2.id)\n post3 = Post(id=3, name='Post3', id_user=user3.id)\n\n #insert data\n db.query().insert(user1, user2, user3, post1, post2, post3).execute()\n\n # select with columns + autojoin with fk;\n print('\\n=======SELECT + Auto Join=======')\n for row in db.query(User, Post.name).select().join(Post).execute():\n print(row)\n\n # update\n db.query(User).update(name='User3_UPDATED').filter(User.name == 'User3').execute()\n\n print('\\n=======SELECT after update=======')\n for row in db.query(User, Post.name).select().join(Post).execute():\n print(row)\n\n db.query(User).delete().filter(User.name == 'User3_UPDATED').execute()\n\n print('\\n=======SELECT after delete=======')\n for row in db.query(User, Post.name).select().join(Post).execute():\n print(row)\n\n # delete\n db.query(User, Post).drop().execute()\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/DruzhininDV/sqlite-orm", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "py-sqlite-orm-danidr", "package_url": "https://pypi.org/project/py-sqlite-orm-danidr/", "platform": "", "project_url": "https://pypi.org/project/py-sqlite-orm-danidr/", "project_urls": { "Homepage": "https://github.com/DruzhininDV/sqlite-orm" }, "release_url": "https://pypi.org/project/py-sqlite-orm-danidr/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "A Python object relational mapper for SQLite.", "version": "0.0.1" }, "last_serial": 4521401, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "73b9be2e40bd6a6b52cd1ccbcef38497", "sha256": "a243cc383800f29572f3326e5aa8352f5c964b39343ae317ed4104dff8ee17e9" }, "downloads": -1, "filename": "py_sqlite_orm_danidr-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "73b9be2e40bd6a6b52cd1ccbcef38497", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10158, "upload_time": "2018-11-23T17:35:59", "url": "https://files.pythonhosted.org/packages/09/8e/0ffadd614832c7411c83ee681660a20bef075059c01696ca43566fe6391d/py_sqlite_orm_danidr-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ad972d5ba2ec2869a1545b302d44eb5", "sha256": "3e131d87225f8e132919dea113812a3e26ced7bf02789045dc7a708b94db1f0c" }, "downloads": -1, "filename": "py-sqlite-orm-danidr-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6ad972d5ba2ec2869a1545b302d44eb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6907, "upload_time": "2018-11-23T17:36:01", "url": "https://files.pythonhosted.org/packages/bf/a2/a73c485a551e9010706bbaa3db3f8b9d2e19e5ba01ee39ff02f8e28eed04/py-sqlite-orm-danidr-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "73b9be2e40bd6a6b52cd1ccbcef38497", "sha256": "a243cc383800f29572f3326e5aa8352f5c964b39343ae317ed4104dff8ee17e9" }, "downloads": -1, "filename": "py_sqlite_orm_danidr-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "73b9be2e40bd6a6b52cd1ccbcef38497", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10158, "upload_time": "2018-11-23T17:35:59", "url": "https://files.pythonhosted.org/packages/09/8e/0ffadd614832c7411c83ee681660a20bef075059c01696ca43566fe6391d/py_sqlite_orm_danidr-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ad972d5ba2ec2869a1545b302d44eb5", "sha256": "3e131d87225f8e132919dea113812a3e26ced7bf02789045dc7a708b94db1f0c" }, "downloads": -1, "filename": "py-sqlite-orm-danidr-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6ad972d5ba2ec2869a1545b302d44eb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6907, "upload_time": "2018-11-23T17:36:01", "url": "https://files.pythonhosted.org/packages/bf/a2/a73c485a551e9010706bbaa3db3f8b9d2e19e5ba01ee39ff02f8e28eed04/py-sqlite-orm-danidr-0.0.1.tar.gz" } ] }