{ "info": { "author": "romask", "author_email": "romask17@ya.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 python-sqlite-orm\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) #\u0420\u00b0\u0420\u0406\u0421\u201a\u0420\u0455\u0420\u0451\u0420\u0405\u0420\u0454\u0421\u0402\u0420\u00b5\u0420\u0458\u0420\u00b5\u0420\u0405\u0421\u201a \u0420\u0405\u0420\u00b0 int \u0420\u0457\u0420\u0455\u0420\u00bb\u0420\u00b5\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/romask17/SQLite-ORM", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "python-sqlite-orm", "package_url": "https://pypi.org/project/python-sqlite-orm/", "platform": "", "project_url": "https://pypi.org/project/python-sqlite-orm/", "project_urls": { "Homepage": "https://github.com/romask17/SQLite-ORM" }, "release_url": "https://pypi.org/project/python-sqlite-orm/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "A Python object relational mapper for SQLite.", "version": "0.0.1" }, "last_serial": 4422759, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d7fc98c0d1ce1496074a2721a6d20cad", "sha256": "eacad0d76642c0e123e3c1d951219e9cf3cc24374f8011b8719603c69b767a2e" }, "downloads": -1, "filename": "python_sqlite_orm-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d7fc98c0d1ce1496074a2721a6d20cad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12244, "upload_time": "2018-10-27T20:16:55", "url": "https://files.pythonhosted.org/packages/97/eb/8eed4ea6aa7dc9c1d06945fee150e4e4984f762908e7b3b14895a74892bf/python_sqlite_orm-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "529357b4a0d997b660b4e86f2db1d675", "sha256": "cec5345c64cec816671834ff2d760c53ecdb439d5facf869f8cea3ac9705ab44" }, "downloads": -1, "filename": "python-sqlite-orm-0.0.1.tar.gz", "has_sig": false, "md5_digest": "529357b4a0d997b660b4e86f2db1d675", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8668, "upload_time": "2018-10-27T20:16:57", "url": "https://files.pythonhosted.org/packages/a2/d0/fe7e66983d72db7a12e6f8f65672bea810bf1c6a5882d853dd4cdf326d49/python-sqlite-orm-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d7fc98c0d1ce1496074a2721a6d20cad", "sha256": "eacad0d76642c0e123e3c1d951219e9cf3cc24374f8011b8719603c69b767a2e" }, "downloads": -1, "filename": "python_sqlite_orm-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d7fc98c0d1ce1496074a2721a6d20cad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12244, "upload_time": "2018-10-27T20:16:55", "url": "https://files.pythonhosted.org/packages/97/eb/8eed4ea6aa7dc9c1d06945fee150e4e4984f762908e7b3b14895a74892bf/python_sqlite_orm-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "529357b4a0d997b660b4e86f2db1d675", "sha256": "cec5345c64cec816671834ff2d760c53ecdb439d5facf869f8cea3ac9705ab44" }, "downloads": -1, "filename": "python-sqlite-orm-0.0.1.tar.gz", "has_sig": false, "md5_digest": "529357b4a0d997b660b4e86f2db1d675", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8668, "upload_time": "2018-10-27T20:16:57", "url": "https://files.pythonhosted.org/packages/a2/d0/fe7e66983d72db7a12e6f8f65672bea810bf1c6a5882d853dd4cdf326d49/python-sqlite-orm-0.0.1.tar.gz" } ] }