Python 如何将同一模型的多对一关系添加到Restful marshaller中?
我有一个类别模型,可以有一个孩子,他们也有一个类别模型:Python 如何将同一模型的多对一关系添加到Restful marshaller中?,python,flask,marshalling,relationship,flask-restful,Python,Flask,Marshalling,Relationship,Flask Restful,我有一个类别模型,可以有一个孩子,他们也有一个类别模型: class Category(db.Model): id = db.Column(db.Integer, primary_key = True) name = db.Column(db.String(32), nullable=False) description = db.Column(db.String(128), nullable=True) is_folder = db.Co
class Category(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(32), nullable=False)
description = db.Column(db.String(128), nullable=True)
is_folder = db.Column(db.Boolean(), default=False)
parent_id = db.Column(db.Integer, db.ForeignKey('category.id'))
subcategories = db.relationship('Category', backref='parent', remote_side=[id], uselist=True)
所以我有多对一的关系。我想用长颈瓶静谧来马歇尔它:
category_fields = {
'id': fields.Integer,
'name': fields.String,
'description': fields.String,
'parent_id': fields.Integer,
'is_folder': fields.Boolean,
'subcategories': ???,
}
如何在marshaller中描述子类别?我会尝试使用and
例如:
category_fields = {
'id': fields.Integer,
'name': fields.String,
'description': fields.String,
'parent_id': fields.Integer,
'is_folder': fields.Boolean,
}
category_fields['subcategories'] = fields.List(fields.Nested(category_fields))