gpt4 book ai didi

python - 在 sqlalchemy 中使用 postgresql xml 数据类型

转载 作者:数据小太阳 更新时间:2023-10-29 01:58:33 26 4
gpt4 key购买 nike

SqlAlchemy 通过方言支持大多数数据库特定的数据类型,但我找不到任何可用于 postgresql xml 列类型的东西。有人知道可行的解决方案吗?理想情况下,它不应该需要我自己实现自定义列类型。

最佳答案

如果您需要在 postgresql 数据库中拥有原生 'xml' 数据类型,您需要编写继承自 UserDefinedType 而非 TypeDecorator 的自定义类型。 Documentation

这是我在其中一个项目中使用的:

import xml.etree.ElementTree as etree
import sqlalchemy

class XMLType(sqlalchemy.types.UserDefinedType):
def get_col_spec(self):
return 'XML'

def bind_processor(self, dialect):
def process(value):
if value is not None:
if isinstance(value, str):
return value
else:
return etree.tostring(value)
else:
return None
return process

def result_processor(self, dialect, coltype):
def process(value):
if value is not None:
value = etree.fromstring(value)
return value
return process

关于python - 在 sqlalchemy 中使用 postgresql xml 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16153512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com