Python flask_restx.fields.Nested() Examples
The following are 6
code examples of flask_restx.fields.Nested().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
flask_restx.fields
, or try the search function
.
Example #1
Source File: utils_test.py From flask_accepts with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_unpack_nested(): app = Flask(__name__) api = Api(app) class IntegerSchema(Schema): my_int: ma.Integer() result = utils.unpack_nested(ma.Nested(IntegerSchema), api=api) assert result
Example #2
Source File: utils_test.py From flask_accepts with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_unpack_nested_self(): app = Flask(__name__) api = Api(app) class IntegerSchema(Schema): my_int = ma.Integer() children = ma.Nested("self", exclude=["children"]) schema = IntegerSchema() result = utils.unpack_nested(schema.fields.get("children"), api=api) assert type(result) == fr.Nested
Example #3
Source File: utils_test.py From flask_accepts with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_unpack_nested_self_many(): app = Flask(__name__) api = Api(app) class IntegerSchema(Schema): my_int = ma.Integer() children = ma.Nested("self", exclude=["children"], many=True) schema = IntegerSchema() result = utils.unpack_nested(schema.fields.get("children"), api=api) assert type(result) == fr.List
Example #4
Source File: utils.py From flask_accepts with BSD 3-Clause "New" or "Revised" License | 5 votes |
def unpack_nested(val, api, model_name: str = None, operation: str = "dump"): if val.nested == "self": return unpack_nested_self(val, api, model_name, operation) model_name = get_default_model_name(val.nested) return fr.Nested( map_type(val.nested, api, model_name, operation), **_ma_field_to_fr_field(val) )
Example #5
Source File: utils.py From flask_accepts with BSD 3-Clause "New" or "Revised" License | 5 votes |
def unpack_nested_self(val, api, model_name: str = None, operation: str = "dump"): model_name = model_name or get_default_model_name(val.schema) fields = { k: map_type(v, api, model_name, operation) for k, v in (vars(val.schema).get("fields").items()) if type(v) in type_map and _check_load_dump_only(v, operation) } if val.many: return fr.List( fr.Nested( api.model(f"{model_name}-child", fields), **_ma_field_to_fr_field(val) ) ) else: return fr.Nested( api.model(f"{model_name}-child", fields), **_ma_field_to_fr_field(val) )
Example #6
Source File: api.py From indra with BSD 2-Clause "Simplified" License | 5 votes |
def make_preassembly_model(func): """Create new Flask model with function arguments.""" args = inspect.signature(func).parameters # We can reuse Staetments model if only stmts_in or stmts and **kwargs are # arguments of the function if ((len(args) == 1 and ('stmts_in' in args or 'stmts' in args)) or (len(args) == 2 and 'kwargs' in args and ('stmts_in' in args or 'stmts' in args))): return stmts_model # Inherit a model if there are other arguments model_fields = {} for arg in args: if arg != 'stmts_in' and arg != 'stmts' and arg != 'kwargs': default = None if args[arg].default is not inspect.Parameter.empty: default = args[arg].default # Need to use default for boolean and example for other types if arg in boolean_args: model_fields[arg] = fields.Boolean(default=default) elif arg in int_args: model_fields[arg] = fields.Integer(example=default) elif arg in float_args: model_fields[arg] = fields.Float(example=0.7) elif arg in list_args: if arg == 'curations': model_fields[arg] = fields.List( fields.Nested(dict_model), example=[{'pa_hash': '1234', 'source_hash': '2345', 'tag': 'wrong_relation'}]) else: model_fields[arg] = fields.List( fields.String, example=default) elif arg in dict_args: model_fields[arg] = fields.Nested(dict_model) else: model_fields[arg] = fields.String(example=default) new_model = api.inherit( ('%s_input' % func.__name__), stmts_model, model_fields) return new_model