在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
字段的值。