在SQLAlchemy中使用JSON字段非常简单,只需在定义模型时指定字段类型为JSON即可。下面是一个示例:
from sqlalchemy import create_engine, Column, Integer, Stringfrom sqlalchemy.dialects.postgresql import JSONfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmakerBase = declarative_base()class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) data = Column(JSON)# 创建数据库引擎engine = create_engine('postgresql://username:password@localhost/database_name')# 创建表Base.metadata.create_all(engine)# 创建会话Session = sessionmaker(bind=engine)session = Session()# 添加数据user = User(name='Alice', data={'age': 30, 'gender': 'female'})session.add(user)session.commit()# 查询数据user = session.query(User).filter_by(name='Alice').first()print(user.data)在这个示例中,我们定义了一个User模型,其中包含一个data字段,类型为JSON。我们可以像使用其他字段一样对其进行操作。在添加数据时,我们可以使用字典作为值传递给data字段。在查询数据时,我们可以像访问字典一样访问data字段的值。