May*_*wer 21 python json sqlalchemy
新版本的 SQLAlchemy 引入了使用 Mapped[Type](链接)使用类型注释的功能。
我的问题是,我们应该使用什么作为 的注释sqlalchemy.types.JSON?就这样就dict可以了吗?
我只是使用 dict,但我想了解正确的选项。
Gam*_*rix 22
您需要首先在 DeclarativeBase 类型注释映射中声明一个映射,如下所示:
from sqlalchemy.orm import DeclarativeBase
from sqlalchemy.types import JSON
from typing import Any
class Base(DeclarativeBase):
type_annotation_map = {
dict[str, Any]: JSON
}
Run Code Online (Sandbox Code Playgroud)
注意:这也适用于数据库特定的 json 方言,例如 PostgresJSONB类型。对于旧版本的 Python,您可能需要执行from typing import Dict并使用它,而不是dict直接使用。
执行此操作后,您可以在表中使用上述数据类型,如下所示:
from sqlalchemy.orm import Mapped
class YourTable(Base):
your_column: Mapped[dict[str, Any]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8090 次 |
| 最近记录: |