如何创建 sqlalchemy 到 json

2024-04-30

我有一个 sqlalchemy 结果

labels = session.query(
         LabelsData, 
         LabelsData.id, 
         LabelsData.name, 
         LabelsData.color
         ).filter(LabelsData.deleted==False).all()

我想将这个结果转换为 JSON,但是我该怎么做呢?


看起来像你的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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建 sqlalchemy 到 json 的相关文章

随机推荐