1.Lorm内置连接池,Django样式查找表达式。
2.安装
PyPI上提供了最后一个稳定版本,可以使用pip安装:
$ pip install lorm
例如:
CREATE TABLE `pets` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL DEFAULT '',
`add_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
连接到Mysql
>>> import pymysql
>>> import lorm
>>> db = lorm.Hub(pymysql)
>>> db.add_pool('default', host='localhost', port=3306, user='root',
passwd='root', db='test', autocommit=True, pool_size=8, wait_timeout=30)
插入
>>> db.default.pets.create(name='cat')
1
询问
>>> db.default.pets.get(id=1)
{u'id': 2, u'name': u'cat'}
行样式
>>> db.default.pets.filter(id__lt=10).select('id')[:]
[{u'id': 1}, {u'id': 2}, {u'id': 4}, {u'id': 5}, {u'id': 6}, {u'id': 7}, {u'id': 8}, {u'id': 9}]
>>> db.default.pets.filter(id__lt=10).values('id')[:]
((1,), (2,), (4,), (5,), (6,), (7,), (8,), (9,))
>>> db.default.pets.filter(id__lt=10).flat('id')[:]
[1, 2, 4, 5, 6, 7, 8, 9]
原始SQL
>>> db.default.fetchall("select * from pets")
((1, u'cat'), (2, u'dog'), (3, u'bird'))
交易
>>> with db.default as c:
>>> print c.pets.create(name='fish')
特征
- 内置连接池
- Django样式查找表达式
- 并发安全
- Gevent友好
- 动力驱动