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'