Python SqlAlchemy传递查询以查看序列化问题

时间:2011-02-05 05:32:50

标签: python json serialization 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 :(得分:0)

看看http://www.sqlalchemy.org/docs/core/serializer.html

  

Serializer / Deserializer对象,用于SQLAlchemy查询结构,允许“上下文”反序列化。

     

可以使用任何基于sqlalchemy.sql。*或sqlalchemy.orm。*的SQLAlchemy查询结构。结构引用的映射器,表,列,会话等不是以序列化形式持久化,而是在反序列化时与查询结构重新关联。