Я закончил подклассом поля Nested
и переопределил метод get_value
.
from marshmallow import Schema, fields
from mongoengine.errors import DoesNotExist
class SafeNested(fields.Nested):
def get_value(self, *args, **kwargs):
try:
return super().get_value(*args, **kwargs)
except DoesNotExist:
return {}