Mat*_*tty 19 python sqlalchemy
我熟悉Python生成器,但是我刚刚遇到了"生成方法"这个术语,我不熟悉它并且找不到令人满意的定义.
把它放在上下文中,我在SQLAlchemy的叙述文档中找到了这个术语:
使用Connection,Engine,Executable上提供的生成Connection.execution_options()方法,使用"autocommit"标志可以完全控制"自动提交"行为,该标志将打开或关闭所选范围的自动提交.
什么是生成方法?试图迭代返回的对象Connection.execution_options()不起作用,所以我认为它不是标准生成器.
ale*_*xis 30
它不似乎是一个常见的数据库概念,但SQLAlchemy的使用术语生成在这个意义上"你的程序生成反复在运行时".(所以,没有与python生成器的连接).教程中的一个例子:
该
Query对象是完全生成的,这意味着大多数方法调用返回一个新Query对象,可以在其上添加进一步的标准.例如,要查询名为"ed"且名称为"Ed Jones"的用户,可以调用filter()两次,使用AND连接条件:
>>> for user in session.query(User).\
... filter(User.name=='ed').\
... filter(User.fullname=='Ed Jones'):
... print user
Run Code Online (Sandbox Code Playgroud)
这种调用语法通常称为"方法链接",以及允许它作为"流畅接口"的设计.
因此,在Connection.execution_options()"生成" 的情况下,"生成"意味着它返回修改后的连接对象,以便您可以如上所述链接调用.