【问题标题】:Synchronize SQLAlchemy ORM objects with external files on disk将 SQLAlchemy ORM 对象与磁盘上的外部文件同步
【发布时间】:2020-06-25 22:55:10
【问题描述】:

我正在使用 SQLAlchemy ORM 来表示 MySQL 数据库的数据模型。假设对于我的一种 ORM 实体类型,在磁盘上存储了一个辅助数据的外部文件,数据库行和文件之间具有一对一的关联。

是否有一个好的软件模式可以让 ORM 对象的实例与外部文件保持同步?

例如,理想的方法是使用某种类型的 setter 将数据附加到 ORM 对象的实例,然后在内部保存数据,并在对象被持久化时将其写入磁盘进入数据库。

此外,文件的删除应该与从数据库中删除 ORM 对象同步进行。

我猜我需要利用 SQLAlchemy 中的事件侦听器系统来注册带有这些状态转换的回调。但是我不确定执行此操作的最佳方法,应在何处注册事件侦听器,如何将此逻辑封装在特定的 ORM 实体类型中,以及如何将任意数据存储在不映射的 ORM 实体中到数据库列。

【问题讨论】:

    标签: sqlalchemy


    【解决方案1】:

    这个库https://pypi.org/project/sqlalchemy-media/ 可能会满足您的需求

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-29
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      相关资源
      最近更新 更多