TinyORM:一个轻量级的 ORM 库
TinyORM 是一款轻量级的 ORM(对象关系映射)库,用于将 Python 类与数据库表进行映射,使得程序员可以像操作对象一样操作数据库表。它可以极大地提高开发效率,减少与数据库交互时的代码量。
功能特性
- 简单易用:只需定义 Python 类即可创建对应的数据库表。
- 支持多种数据库:目前支持 SQLite、MySQL 和 PostgreSQL 数据库。
- 支持多种查询方式:包括 SQL 查询语句、Python 表达式和 ORM 方法。
- 支持事务处理:支持手动或自动提交/回滚事务。
- 支持模型继承:可以通过继承父类的方式扩展数据表结构。
快速上手
要开始使用 TinyORM,你需要先安装它:
pip install tinyorm
接下来,你可以通过定义 Python 类来创建数据库表:
from tinyorm import Model, Field
class User(Model):
id = Field(int, primary_key=True)
name = Field(str)
age = Field(int)
在上面的例子中,我们定义了一个名为 User
的类,并指定了三个字段:id
(整型,主键)、name
(字符串)和 age
(整型)。这将在数据库中创建一个名为 user
的表。
然后,你可以像操作普通 Python 对象一样操作数据库表:
# 插入一条记录
u = User(id=1, name='Alice', age=20)
u.save()
# 查询所有记录
users = User.objects.all()
for u in users:
print(u.id, u.name, u.age)
# 更新记录
u.name = 'Alicia'
u.update()
# 删除记录
u.delete()
在这个例子中,我们展示了如何插入、查询、更新和删除数据表中的记录。
示例应用
为了更好地了解 TinyORM 的功能和用法,让我们来看一个完整的示例应用。假设我们要创建一个简单的博客系统,其中包括 Post
和 Comment
两个表。
首先,我们需要定义这两个表的 Python 类:
from tinyorm import Model, Field
class Post(Model):
id = Field(int, primary_key=True)
title = Field(str)
content = Field(str)
created_at = Field(datetime.datetime, default=datetime.datetime.now)
class Comment(Model):
id = Field(int, primary_key=True)
post_id = Field(int)
author = Field(str)
content = Field(str)
created_at = Field(datetime.datetime, default=datetime.datetime.now)
接下来,我们可以使用这些类来执行常见的 CRUD 操作:
# 创建一篇文章
p = Post(title='Hello World', content='This is my first blog post!')
p.save()
# 在这篇文章下添加一条评论
c = Comment(post_id=p.id, author='Alice', content='Great post!')
c.save()
# 获取所有文章
posts = Post.objects.all()
for p in posts:
print(p.title)
# 获取文章的所有评论
comments = Comment.objects.filter(post_id=p.id).all()
for c in comments:
print(c.author, c.content)
以上就是使用 TinyORM 创建简单博客系统的完整示例。有了它,你可以轻松地进行数据库操作,而无需关心底层的 SQL 语句。
结语
TinyORM 是一个轻量级的 ORM 库,能够让你更高效地与数据库进行交互。它的简单易用性和强大的功能使其成为小型项目的理想选择。如果你想了解更多关于 TinyORM 的信息,请访问项目的 GitCode 页面:https://gitcode.com/silverqx/TinyORM?utm_source=artical_gitcode
希望本文对你有所帮助,如果你喜欢 TinyORM,欢迎将其分享给更多的人。