Nol*_*lik 8 python json sqlalchemy
我有一个sqlalchemy结果
labels = session.query(
LabelsData,
LabelsData.id,
LabelsData.name,
LabelsData.color
).filter(LabelsData.deleted==False).all()
Run Code Online (Sandbox Code Playgroud)
我想将此结果转换为JSON,但我该怎么做呢?
mtt*_*tth 19
看起来您的LabelsData对象是SQLAlchemy模型.您需要在将其转储到JSON之前对其进行序列化.这是一个简短的示例,它从LabelsData对象中提取所有列,并将查询结果转换为JSON:
from json import dumps
from sqlalchemy.orm import class_mapper
def serialize(model):
"""Transforms a model into a dictionary which can be dumped to JSON."""
# first we get the names of all the columns on your model
columns = [c.key for c in class_mapper(model.__class__).columns]
# then we return their values in a dict
return dict((c, getattr(model, c)) for c in columns)
# we can then use this for your particular example
serialized_labels = [
serialize(label)
for label in session.query(LabelsData).filter(LabelsData.deleted == False)
]
your_json = dumps(serialized_labels)
Run Code Online (Sandbox Code Playgroud)