Схемы зефира имеют опцию dump_only
, которая предотвращает десериализацию объектов в этом атрибуте во время события load
.
Например:
class UserSerializationSchema(ma.ModelSchema):
class Meta:
model = User
messages = fields.Nested(MessageSerializationSchema, dump_only=True)
Мы хотим, чтобы зефир загружал ormобъекты в этих полях, если они уже существуют, но мы НЕ хотим разрешать создание новых объектов путем десериализации.Flask-marshmallow загружает существующие объекты, не создавая новых, например, следующая команда, когда запускается load
, создаст нового пользователя с указанным email
и свяжет его с существующим сообщением с uid
1:
{
'email': 'email@email.com',
'messages': {
'uid': 1
}
}
К сожалению, вышеуказанная функциональность не работает, когда dump_only
имеет значение True
на поле.Можно ли сказать зефиру разрешить связываться с существующими объектами, но не создавать новые объекты путем десериализации?