Flask 棉花糖sqlalchemy无法获取子模型';从父模型_架构中删除数据

Flask 棉花糖sqlalchemy无法获取子模型';从父模型_架构中删除数据,flask,sqlalchemy,marshmallow,Flask,Sqlalchemy,Marshmallow,我正在尝试使用棉花糖sqlalchemy创建一个API 但是,当我转储数据时,它仅显示父模型数据 比如{'id':1,'date':'2019-09-01'} 如何获取公司数据,如{'id':1,'日期':'2019-09-01','orders':{'id':1,'日期':'2019-09-01'},{'id':1,'日期':'2019-09-01'} 模型是 class Order(db.Model): id = db.Column(db.Integer, primary_key=T

我正在尝试使用棉花糖sqlalchemy创建一个API

但是,当我转储数据时,它仅显示父模型数据

比如{'id':1,'date':'2019-09-01'}

如何获取公司数据,如{'id':1,'日期':'2019-09-01','orders':{'id':1,'日期':'2019-09-01'},{'id':1,'日期':'2019-09-01'}

模型是

class Order(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    company_id = db.Column(db.Integer, db.ForeignKey('user_company.id'), nullable=False)
    company = db.relationship('UserCompany', backref='orders', lazy=True)
    date = db.Column(db.DateTime(), server_default=func.now())

class UserCompany(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    company_name = db.Column(db.String(length=20))
模式是

class OrderSchema(ModelSchema):
    class Meta:
        sqla_session = db.Session
        fields = ('id', 'date')
        model = Order


order_schema = OrderSchema()
orders_schema = OrderSchema(many=True)


class UserCompanySchema(ModelSchema):
    orders = Nested(OrderSchema, many=True)
    class Meta:
        fields = ('id', 'company_name')
        model = UserCompany
        sqla_session = db.session


user_company_schema = UserCompanySchema()
而这一观点是正确的

company = UserCompany.query.get(current_user.company.id)
print(user_company_schema.dump(company))

{'id': 1, 'date': '2019-09-01'}
我想要的是

{'id': 1, 'date': '2019-09-01', 'orders': {'id': 1, 'date': '2019-09-01'}, {'id': 1, 'date': '2019-09-01'}}

若您希望在转储中显示所需的字段,那个么需要显式地设置Meta类中的所有字段

class UserCompanySchema(ModelSchema):
    orders = Nested(OrderSchema, many=True)
    class Meta:
        fields = ('id', 'company_name', 'orders')
        model = UserCompany
        sqla_session = db.session

看起来
user\u company\u schema
实际上是传递了订单实例的
OrderSchema
的实例。你确定所有粘贴的代码都是你的意思吗?@stasiekz对不起,这是个错误。我刚刚更新了UserCompanySchema和OrderSchemause
类元(ModelSchema.Meta):
这救了我的命!!谢谢