2011-02-05 8 views
1

sqlalchemyクエリの結果をビューに渡す最適な方法は何ですか?Python SqlAlchemy Passシリアル化の問題を表示するクエリ

私のような宣言宣言されたテーブルを持っている:

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のシリアル化エラーがスローされます。私が理解しているところからは、これは日付フィールドによるものです。これを修正する簡単な方法はありますか?

答えて

0

http://www.sqlalchemy.org/docs/core/serializer.htmlをご覧ください。

SQLAlchemyクエリ構造で使用するためのシリアライザ/デシリアライザオブジェクトで、「コンテキストによる」デシリアライズが可能です。

SQLAlchemyクエリ構造は、sqlalchemy.sql。*またはsqlalchemy.orm。*に基づいています。構造体によって参照されるマッパー、テーブル、列、セッションなどは、シリアル化された形式では永続化されませんが、逆シリアル化されたときにクエリ構造体に再関連付けされます。