Nested Marshmallow field does not show data in nested Schema

Viewed 8

I have a table type and language. I have a 1 to many relationship called languages from Type to Language. Marshmallow keeps showing there is no data inside a Type entry despite the data showing up in the console. Does anyone have any idea why?

schemas.py

class LanguageSchema(ma.SQLAlchemySchema):
    class Meta:
        model = Language
        ordered = True

    language = ma.auto_field()
    

class TypeSchema(ma.SQLAlchemySchema):
    class Meta:
        model = Type
        ordered = True

    id = ma.auto_field(dump_only=True)
    name = ma.auto_field(required=True, validate=validate.Length(min=3, max=64))
    settings = ma.Nested(TypeSettingsSchema, dump_only=True)
    languages = ma.Nested(LanguageSchema, many=False)

models.py

class Language(Updateable, db.Model):
    __tablename__ = 'language'

    id = sqla.Column(sqla.Integer, primary_key=True)
    language = sqla.Column(sqla.String(2), nullable=False)

    type_id = sqla.Column(sqla.Integer, sqla.ForeignKey(Type.id), index=True)
    type = sqla_orm.relationship('Type', back_populates='languages')

class Type(Updateable, db.Model):
    __tablename__ = 'type'

    languages = sqla_orm.relationship('Language', back_populates='type')

Output from query

{
  "data": [
    {
      "id": 1,
      "languages": {},
      "name": "Grocery",
      "settings": {
        "isHome": true,
        "layoutType": "classic",
        "productCard": "neon"
      }
    }]
}

console output showing what the query for id1 brings up and you can clearly see languages has data.

>>> t1.id
1
>>> t1.languages[0].language
'en'
>>> t1.name
'Grocery'
0 Answers
Related