Beispiel #1
0
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))
Beispiel #2
0
 def test_default_as_callable(self):
     field = fields.raw(default=lambda: 'aaa')
     assert field.__schema__['default'] == 'aaa'
Beispiel #3
0
 def test_type(self):
     field = fields.raw()
     assert field.__schema__['type'] == 'object'
Beispiel #4
0
 def test_default(self):
     field = fields.raw(default='aaa')
     assert field.__schema__['default'] == 'aaa'
Beispiel #5
0
 def field_class(self, **kwargs):
     return fields.raw(**kwargs)