在SQLAlchemy中使用JSON字段非常简单,只需在定义模型时指定字段类型为JSON
即可。下面是一个示例:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.dialects.postgresql import JSON
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = 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
字段的值。