(SQLAlchemy - ORM) + Twisted = win
项目描述
alchimia 允许您使用大多数 SQLAlchemy-core API,但不允许您使用 ORM。
入门
from alchimia import wrap_engine
from sqlalchemy import (
create_engine, MetaData, Table, Column, Integer, String
)
from sqlalchemy.schema import CreateTable
from twisted.internet.defer import inlineCallbacks
from twisted.internet.task import react
@inlineCallbacks
def main(reactor):
engine = wrap_engine(reactor, create_engine("sqlite://"))
metadata = MetaData()
users = Table("users", metadata,
Column("id", Integer(), primary_key=True),
Column("name", String()),
)
# Create the table
yield engine.execute(CreateTable(users))
# Insert some users
yield engine.execute(users.insert().values(name="Jeremy Goodwin"))
yield engine.execute(users.insert().values(name="Natalie Hurley"))
yield engine.execute(users.insert().values(name="Dan Rydell"))
yield engine.execute(users.insert().values(name="Casey McCall"))
yield engine.execute(users.insert().values(name="Dana Whitaker"))
result = yield engine.execute(users.select(users.c.name.startswith("D")))
d_users = yield result.fetchall()
# Print out the users
for user in d_users:
print("Username: %s" % user[users.c.name])
# Queries that return results should be explicitly closed to
# release the connection
result.close()
if __name__ == "__main__":
react(main, [])
文档
文档全部在 Read the Docs 上。
限制
alchimia 展示 SQLAlchemy API 的能力存在一些限制。
某些方法尚未实现。如果您提交错误报告,我们将实现它们!有关更多信息,请参阅 CONTRIBUTING.rst。
SQLAlchemy 中的一些方法没有返回值,或者返回的值是我们无法控制的。由于大多数 alchimia API 基于返回 Deferred 实例,因此我们无法以有用的方式包装这些方法。幸运的是,许多这些方法有替代的拼写。有关详细信息,请参阅 文档。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
alchimia-0.8.1.tar.gz (18.4 kB 查看哈希值)
构建分发
alchimia-0.8.1-py2.py3-none-any.whl (6.5 kB 查看哈希值)
关闭
alchimia-0.8.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c41b42e629ff8139b64dd28341704bdd5734be28d87b3e46259241f8b0173b8a |
|
MD5 | e03d07a46e8bcd88ad1c7c05988f1f0f |
|
BLAKE2b-256 | d986c63b218ad606a5538cbd777c0b926467e849e87b92cc863039843ebdc75c |
关闭
alchimia-0.8.1-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 161ebe7076d8b5feda728df7128b2f5aea1d26d9b67cf33212ebaaeb26cff1b7 |
|
MD5 | 24dec430e26c1b98d4dc1a30f1ff2f1a |
|
BLAKE2b-256 | d2417bf9f947d845318d0c8603c98e8dfae39151398793d5bb46ad9757139062 |