我有一个SLQALchemy对象,我正在用marshmallow序列化。在
对象有N个喜欢和N个注释。看起来像这样:
class Parent():
__tablename__ = 'parent'
title = Column(db.String(100), unique=True, nullable=False)
description = Column(db.String(500))
created_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)
comments = relationship('Comment')
likes = relationship('Like')
序列化程序如下所示:
^{pr2}$我试着在视图中这样运行:
allParents = Parent.query.all()
并使用以下命令将其转换为JSON:
return jsonify({"parents": ParentSerializer(allParents, many=True).data})
当我尝试运行它时,我得到一个错误list indices must be integers, not str
。它来自marshmallow/serializer.py
。当我在其中记录一些东西时,似乎是棉花糖试图访问一个<Comment>
列表的text
属性。它应该分别访问每个<Comment>
,然后访问text
属性。在
我的序列化程序中是否缺少某些内容?我知道在ParentSerializer中发送many=True
参数会告诉marshullow它应该遍历一个<Parent>
的列表。有没有一种方法可以告诉棉花糖它也应该有很多<Comment>
或{
或者,您可以这样做:
是的。也可以将
many=True
传递给Nested
字段。在相关问题 更多 >
编程相关推荐