схема
class DivisionSchema(Schema):
id = fields.Int()
name = fields.Str()
nameShort = fields.Str()
abbreviation = fields.Str()
sport = fields.Nested(SportSchema)
hasWildcard = fields.Bool()
class Meta:
unknown = EXCLUDE
@post_load
def make(self, data, **kwargs):
data['division_id'] = data.pop('id')
data['sport'] = data['sport']['sport_id']
return data
class DivisionsSchema(Schema):
divisions = fields.Nested(DivisionSchema, many=True)
class Meta:
unknown = EXCLUDE
и вторая схема
class TeamSchema(Schema):
id = fields.Int()
name = fields.Str()
venue = fields.Nested(VenueSchema)
abbreviation = fields.Str()
teamName = fields.Str()
locationName = fields.Str()
firstYearOfPlay = fields.Int()
division = fields.Nested(DivisionSchema)
sport = fields.Nested(SportSchema)
shortName = fields.Str()
allStarStatus = fields.Str()
active = fields.Bool()
class Meta:
unknown = EXCLUDE
class TeamsSchema(Schema):
teams = fields.Nested(TeamSchema, many=True)
когда вызывается вторая схема, то вызывается исключение
schema\divisions.py", line 19, in make
data['sport'] = data['sport']['sport_id']
KeyError: 'sport'
как это можно исправить?
в @post_load подгоняю сразу данные для БД
SportSchema это что?
Так. А какие данные прилетают вообще, смотрел?
Обсуждают сегодня