从处理程序龙卷风中返回(self.write)对象

时间:2013-10-24 13:47:10

标签: python python-2.7 sqlalchemy tornado

如何从龙卷风处理程序函数中返回一个对象。

def post(self, *args, **kwargs):
        member = Member(name='ABCD',surname='XYZ').save()
        self.write(member)

我收到此错误:

raise TypeError(repr(o) + " is not JSON serializable")

我正在使用Tornado 3.1.1

1 个答案:

答案 0 :(得分:0)

self.write的输入应该是json serializable,试试这个:

self.write(member.__dict__)

如果您的词典包含另一个对象,则无法使用,您可以执行以下操作:

class Member:
    def todict(self):
        memberdict = {}
        memberdict["name"] =  self.name
        memberdict["otherthing"] =  self.otherthing
        return memberdict

和:

self.write(member.todict())

或许您可以提供更多详细信息,以便我提出更合适的解决方案。