我对python相当陌生。我有两个 SQLAlchemy 模型如下:
class listing(db.Model):
id = db.Integer(primary_key=True)
title = db.String()
location_id = db.Column(db.Integer, db.ForeignKey('location.id'))
location = db.relationship('Location', lazy='joined')
class location(db.Model):
id = db.Integer(primary_key=True)
title = db.String()
我有两个棉花糖模式类:
class ListingSchema(Schema):
id = fields.Int()
title = fields.Str()
location_id = fields.Int()
class LocationSchema(Schema):
id = fields.Int()
title = fields.Str()
我创建了一个嵌套模式类,例如:
class NestedSchema(Schema):
listing = fields.Nested(ListingSchema)
location fields.Nested(LocationSchema)
我正在做这样的连接查询:
listing,location = db.session.query(Listing,Location)\
.join(Location, and_(Listing.location_id == Location.id))\
.filter(Listing.id == listing_id).first()
数据加载到我检查过的对象中。如何解析这个模式?我试过了
result,errors = nested_listing_Schema(listing,location)
这会产生错误:“列表对象不可迭代。”