使用 MD5 在 Postgres 上使用 SQLAlchemy 创建唯一索引

Create unique index with SQLAlchemy on Postgres using MD5

我有一个可以包含长文本的列,我想为其创建唯一索引。

我在几个地方(例如here)读到,这样做的方法是在列的 MD5 上创建索引。

我尝试添加以下代码:

__table_args__ = (
        sa.Index('unique_data_hash', 'MD5(data)', unique=True)
    )

但是当我尝试使用它时,我得到

KeyError: 'MD5(data)'

如何使用 SQLAlchemy 添加这样的索引?

经过另一次搜索,我意识到答案是使用 sa.func.md5,效果非常好!