私はPythonにかなり慣れていません。次の 2 つの 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()
私はそれらのために2つのマシュマロスキーマクラスを持っています:
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)
これにより、「Listing object is not iteratable.」というエラーが発生します。