Я пытаюсь сериализовать данные из моделей отношений «один ко многим» с помощью Marshmallow во Flask. Я прочитал документы Marshmallow и SQLAlchemy, но не смог заставить их работать. Может ли кто-нибудь мне помочь.
Модели:
class Category(db.Model):
__tablename__ = 'category_mn'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(45))
status = db.Column(db.Integer, server_default=db.FetchedValue())
items = db.relationship('Items', backref='category', lazy='dynamic')
timestamp = db.Column(db.DateTime, server_default=db.FetchedValue())
class Items(db.Model):
__tablename__ = 'items_mn'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(100))
category_id = db.Column(db.Integer, db.ForeignKey('category_mn.id'))
timestamp = db.Column(db.DateTime, server_default=db.FetchedValue())
Схемы:
class CatSchema(ma.ModelSchema):
class Meta:
model = Category
fields = ('id', 'name', 'status')
class ItemSchema(ma.ModelSchema):
class Meta:
model = Items
fields = ('id', 'name')
category = ma.Nested(CatSchema, many=True)
Я ищу такой вывод:
[{'id':1, 'name':'Test', 'category':{'id':1, 'name':'Test Cat'}}]