Python SqlAlchemy 传递查询到视图序列化问题
如何将sqlalchemy查询的结果传递给视图的最佳方法是什么?
我有一个用声明方式定义的表,比如:
class Greeting(Base):
__tablename__ = 'greetings'
id = Column(Integer, primary_key=True)
author = Column(String)
content = Column(Text)
date = Column(DateTime)
def __init__(self, author, content, date = datetime.datetime.now()):
self.author = author
self.content = content
self.date = date
然后,我用 q = session.query(Greeting).order_by(Greeting.date)
运行一个查询,但当我尝试直接返回 q
时,出现了一些JSON序列化错误。从我理解的情况来看,这个问题是由于日期字段造成的。有简单的方法可以解决这个问题吗?
1 个回答
0
你可以看看这个链接:http://www.sqlalchemy.org/docs/core/serializer.html。
这个内容讲的是在使用SQLAlchemy进行查询时,如何使用序列化和反序列化的对象,让数据处理更灵活。
你可以用任何SQLAlchemy的查询结构,不管是基于sqlalchemy.sql.*还是sqlalchemy.orm.*的都可以。这里提到的映射器、表、列、会话等在序列化的时候并不会被保存成固定的形式,而是在反序列化的时候重新和查询结构关联起来。