PonyOrm之初体验

Author Avatar
A Man Has No Name 3月 07, 2017
  • 在其它设备中阅读本文章

这是一个很好用的python ORM库所以推荐一下,顺便安利一个工具

先来安利一个工具Pipenv

大家都用过virtualenv吧,这货把Pipfile, pip, virtualenv这三个工具集合到了一起,完美的结合到了一起。

安装

1
$ pip install pipenv

警告⚠️:
如果你的默认环境小于版本python2.7.10,安装的时候出现任何问题,概不负责

使用

初始化python2.*的环境

1
2
3
4
5
$ mkdir your_dir
$ cd your_dir
$ pipenv install --two # 此处会有很多输出,请忽略
$ pipenv shell # 进入虚拟环境(python2)
(your_dir)(your_dir) exit # 离开虚拟环境

初始化python3.*的环境

1
2
3
4
5
$ mkdir your_dir
$ cd your_dir
$ pipenv install --three # 此处会有很多输出,请忽略
$ pipenv shell # 进入虚拟环境(python3)
(your_dir)(your_dir) exit # 离开虚拟环境

初始化完成后,如果并不想进入虚拟环境, 执行python命令,

1
2
$ pipenv run python # 这个时候python,是虚拟环境中的python
$ pienv run pip install ansible # 此时是向虚拟环境中安装ansible

创建自己的依赖文件, 下次你只要把Pipfile文件,拿到别的地方,执行pipenv install 那么机会自动把环境包装好

1
2
3
$ pipenv shell
(your_dir)(your_dir) pipenv install requests # 这时候,你会发现你的Pipfile中多了一个包的
(your_dir)(your_dir) pipenv lock --dev # 锁定版本

如果你当前环境已经有一个虚拟环境,那么再创建一个的时候,会覆盖之前的。

Pipenv图片

切入正题, PonyOrm

PonyOrm, 它是一个关系型数据库对象ROM工具(mysql,sqlit),可以方便的写做表的联合等,尤其是数据导入,导出的时候很方便。
特点:

  • 简单的查询语法
  • 自动优化查询
  • 对于N+1的问题解决方案(orm总会多查询一次,用来缓存数据,具体请自行百度)
  • 又一个在线编辑工具 查看(不好用)