def get_model_attribute_type(attr_type): if attr_type == str: return fields.string() if attr_type == bool: return fields.boolean() if attr_type == dict: return fields.raw() if attr_type == int: return fields.integer() if attr_type == datetime.date: return fields.date() if attr_type == datetime.datetime: return fields.date_time() type_str = str(type(attr_type)) is_list = 'Generic' in type_str if is_list: child_type = attr_type.__args__[0] return fields.array(get_model_attribute_type(child_type)) return fields.nested(build_model(attr_type))
def test_default_as_callable(self): field = fields.raw(default=lambda: 'aaa') assert field.__schema__['default'] == 'aaa'
def test_type(self): field = fields.raw() assert field.__schema__['type'] == 'object'
def test_default(self): field = fields.raw(default='aaa') assert field.__schema__['default'] == 'aaa'
def field_class(self, **kwargs): return fields.raw(**kwargs)