首页 > 解决方案 > 如何设置 SQLAlchemy 方言?

问题描述

如何告诉 SQLAlchemy 我想使用哪种方言?

语境:

我想将我的类的一个属性存储为 JSON 对象,并使用 SQLAlchemy 对其运行查询。这是属性:

winning_team_ids = Column(mysql.JSON, nullable=False)

我在测试设置中收到以下错误:

AttributeError: 'SQLiteTypeCompiler' object has no attribute 'visit_JSON'

这似乎是因为 /sqlalchemy/dialects/sqlite/base 没有 visit_JSON 方法。但是,/sqlalchemy/dialects/mysql/base 确实有一个 visit_JSON 方法。因此我想使用mysql方言。

标签: pythonmysqljsonsqlitesqlalchemy

解决方案


您必须使用与您的数据库匹配的方言。如果你必须使用 SQLite,你可能需要等待 SQLAlchemy 1.3,它为它增加了对 JSON 的支持。


推荐阅读