Ana*_*ory 2 sqlalchemy-continuum
我得到了使用 sqlalchemy-continuum 的建议,它似乎可以立即完成我想要的功能。
\n\n默认情况下,ORM 假定存在一个用户列。我确实想保存编辑的发起者,但是文档只说\xe2\x80\x9c这是指定用户类\xe2\x80\x9d的方式,而没有说明实际使用版本化时如何指定此类对象表。
\n\n如何指定负责事务的用户?\n是否有类似的方法向每个事务添加提交消息/原因/引用(VARCHAR)?
\n如果您可以从某个全局范围(如flask.g或flask.request)获取用户,您可以创建一个插件,实现以下transaction_args()
方法:
from sqlalchemy_continuum.plugins import Plugin
class UserPlugin(Plugin):
def transaction_args(self, uow, session):
return {
'user_id': get_user_from_globals()
}
Run Code Online (Sandbox Code Playgroud)
请参阅plugins/flask.py或pyramid_plugin.py。您应该返回用户模型的主键值。
您可以使用TransactionMeta 插件将附加数据保存在单独的表中。没有记录的 API 用于扩展 Transaction 类本身。它是由 创建的TransactionFactory
,但在以后的版本中可能会改变。将附加数据分开保存可能是个好主意。
归档时间: |
|
查看次数: |
1351 次 |
最近记录: |