alchemytools是在任何sqlalchemy项目中使用的一组助手。

Alchemytools的Python项目详细描述


这个项目带来了一组有用的工具,可以在任何SQLAchemly项目中使用

这样做的目的是避免常见的问题,例如:打开/关闭会话、仅在事务结束时提交sessin等。

可用工具

以下是所有可用的炼金术工具。

上下文管理器

管理的

这是基本的上下文管理器,它将在with块结束时自动提交并关闭会话。

withmanaged(MySessionClass)assession:# Do what you need with your session# Here the session is already closed and commited

如果在with块内引发任何异常,会话将回滚并重新引发异常。

为了避免在with块中包含所有函数体,managed函数也作为上下文管理器。

@managed(MySessionClass)deffoo(session,*args,**kwargs):# Do what you need with your sessionpass# call as if the session didn't exist:foo(2,a='b')

每次调用函数时都会打开会话,每次返回或引发异常时都会关闭会话自动提交和回滚规则正常工作

附加选项

^{tt5}$: Sets the autoflush option on the SQLAlchemy session, defaults fo ^{tt6}$

执行测试
$ python setup.py test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaCenter是JavaFX2中不可执行的窗格   java Docker将容器连接到本地数据库   java无法通过Spring从Redis获得正确的值   java为什么要将数组转换为列表再转换为数组   Java泛型在方法中放入字符串或整数参数   在Cloud Bigtable SDK中找不到java类   java Mavensiteplugin无法加载生成的源(Jaxb)   java GWT序列化和Appengine通道Api   PrintWriter out=new PrintWriter(sWriter)和PrintWriter out=response之间的java差异。getWriter()   空手道DSL中的javascript,在java参数调用中传递变量时如何转义单引号   windows 64位java可以与32位tomcat一起使用   为for循环| Java输入参数   java您可以更改SWT选项卡项的背景和/或前景颜色吗?   用java生成6位pin码   java如何从另一个通量中排除通量中的所有元素   java无法调用“javafx.scene.control.ComboBox.getItems()”,因为“Controller.getMyBox()”的返回值为null   将Java字符串与数组匹配时出现问题   java如何使用HttpsUrlConnection对SSL连接使用代理身份验证?   java如何检查XML元素是否包含CDATA?