Я думаю, что вы можете использовать функцию пользовательских типов данных в Еве.Вы можете добавить новые типы данных, просто добавив методы _validate_type_<typename>
в свой подкласс.Рассмотрим следующий фрагмент из исходного кода Eve.
def _validate_type_objectid(self, value):
""" Enables validation for `objectid` schema attribute.
:param value: field value.
"""
if isinstance(value, ObjectId):
return True
Этот метод включает поддержку типа ObjectId MongoDB в вашей схеме, допуская что-то вроде этого:
'schema': {
'owner': {
'type': 'objectid',
'required': True,
},
}