【发布时间】:2013-04-22 17:50:47
【问题描述】:
SqlAlchemy 通过方言支持大多数特定于数据库的数据类型,但我找不到任何可以使用 postgresql xml 列类型的东西。有人知道可行的解决方案吗?理想情况下,它不应该需要我自己实现自定义列类型。
【问题讨论】:
-
我没有看到它在 sqlalchemy 0.8 的 postgresql 方言中实现。您可以尝试使用反射来加载具有 XML 列的现有 psql 模式,并查看 sqlalchemy 如何优雅地处理它。但即使在最好的情况下,我也不认为你会得到像 XPATH 索引这样的好东西,即使反射确实做了一些优雅的事情,比如将列公开为文本类型。尝试在 sqlalchemy 问题跟踪器中提交增强请求。
-
还可以看看 zzzeek 使用邻接表存储 XML 数据的示例:bitbucket.org/sqlalchemy/sqlalchemy/src/…
-
对于这些类型,我们尽量依赖 psycopg2,虽然它们支持 JSON 和 HSTORE,但它们没有 XML 类型:initd.org/psycopg/docs/extras.html#additional-data-types。也就是说,您仍然可以使用docs.sqlalchemy.org/en/rel_0_8/core/types.html#types-custom 的技术在这里获得很多功能,我们当然会接受完整代码的拉取请求。
标签: python xml sqlalchemy postgresql-9.2