ormithorynque是一个面向python和sqlite3的orm(对象关系映射器),具有出色的性能和多重继承支持。
ORMithorynque的Python项目详细描述
ormitorynque是一个orm(对象关系映射器),也就是说一个面向对象的数据库 建立在关系数据库(sqlite3)之上。 ormithorynque允许在数据库中保存和重新加载python对象,并执行复杂的 以及对数据库的优化请求。 ormithorynque可以看作是带有对象和(多重)继承的sqlite3, 或者使用sql查询的python对象系统。
Ormithrynque的主要功能是:
- 由于预构建的请求和高速缓存,性能非常好 (比SqlAlchemy、SqlObject、Pony和Peewee更快)
- 添加新表、新列或新索引时自动更新数据库架构
- 单继承和多继承支持
- 交易
- 本机SQL查询
- 有趣的名字:)
它的主要缺点是:
- 支持单个数据库后端(sqlite3)
- 没有特定的高级查询语言
- 非线程安全
Ormitorynque可在GNU LGPL许可证v3下获得。 它需要python 3.2(或更高版本)或pypy3。
安装
要安装ormithorynque,请在命令提示符中键入以下命令(具有根权限):
pip install ormithorynque
我能用奥米索林克做什么?
从文件名打开一个OracyTyrnk数据库(如果数据库不存在,它自动创建):
>>> import ormithorynque >>> database = ormithorynque.Database("database_filename.sqlite3")
创建两个类,它们之间有一对多的关系(表是用类自动创建的 如果它们不存在;如果它们存在,如果需要的话,它们将自动使用新列更新):
>>> class Person(database.Object): ... name = database.SQLAttribute(str, indexed = True) ... first_name = database.SQLAttribute(str) ... houses = database.SQLOneToMany("House", "owner") >>> class House(database.Object): ... address = database.SQLAttribute("Nowhere") # String attribute with a default value ... owner = database.SQLAttribute(object)
创建两个实例(数据库自动更新):
>>> someone = Person(name = "Some", first_name="One") >>> house = House(address = "Somewhere", owner = someone)
可以访问和修改实例的属性(数据库自动更新):
>>> someone.name Some >>> someone.name = "Some2" >>> someone.houses [<House id=2 address='Somewhere' owner=<Person id=1 first_name='One' name='Some2'>>]
最后,可以使用普通sql查询数据库:
>>> database.select_one("select count(id) from Person") (1,)
更改日志
0.1
- 首次发布
链接
bitbucket上的ormithrynque(开发存储库):https://bitbucket.org/jibalamy/ormithorynque
pypi上的ormithorynque(python包索引,稳定版本):https://pypi.python.org/pypi/ormithorynque
文档:http://pythonhosted.org/ORMithorynque
如有任何意见、问题、建议或帮助,请发邮件给我!
jiba–jean baptiste lamy–jibalamy@free.fr