如何从sqlalchemy中的postgresql查询json数据类型的数据?

时间:2013-12-18 10:34:03

标签: json postgresql sqlalchemy

在sqlalchemy中,我使用经典映射和autoload = True。我想从postgresql查询jsontype的数据。

    D:\Python27\lib\site-packages\sqlalchemy\dialects\postgresql\base.py:1706: SAWarning:  Did not recognize type 'json' of column 'comm_media_alias'name, format_type, default, notnull, domains, enums, schema)

如何处理这个问题

1 个答案:

答案 0 :(得分:2)

PostgreSQL中的JSON类型是PostgreSQL中相对较新的数据类型,因此SQLAlchemy有only recently added functionality to properly detect it。在这个问题出现时,SQLAlchemy将无法检测到“JSON”列类型,因为这样做依赖于它尚未支持的功能。

SQLAlchemy 0.9于2013年12月30日发布。This version contains support for the PostgreSQL JSON data type,所以我建议升级到此版本并重试。

如果您无法升级(或升级仍然不适合您),您还可以将列类型更改为其他类型(如TEXT)。

另外需要注意的是,这不是一个错误:它是一个警告。我不确定SQLAlchemy在处理JSON类型的列时实际会尝试做什么,但它最终可能会起作用。