SQLAlchemy before_execute事件-如何传递一些外部变量,例如应用程序用户ID?

时间:2018-11-30 04:23:07

标签: python sqlalchemy

我正在尝试通过 $counter = 0; foreach ($table_data as $single_table_date){ if ($counter % 3 == 0) { echo '</tr>'; echo '<tr>'; } echo '<td>'; echo $single_table_date; echo '</td>'; $counter++; } 方法获取应用程序变量(应用程序用户ID)。应用程序用户ID存储在python http请求对象中,在db事件中我无权访问。

有什么方法可以将某个sqlalchemy外部数据关联到某个地方,以便稍后在before_execute(conn, clauseelement, multiparam, param)事件中获取它?

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

在这里回答自己的问题并提出可能的解决方案:)

  1. 从http请求中将数据复制到会话对象
  2. 由于会话绑定处于引擎级别,因此将数据从会话复制到SessionEvent.after_begin(session, transaction, connection)中的连接对象。 [如果是连接级别绑定,我们可以直接将对象从会话对象设置为连接对象。]

现在数据在连接对象和before_execute()中也可用。