-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Description
Bug
- OS: macos Mojave 10.14.2
- Python version: 3.7.0 (default, Sep 18 2018, 18:47:08) [Clang 10.0.0 (clang-1000.10.43.1)]
- Pydantic version: 0.16
Code snippet:
import pydantic
class Example(pydantic.BaseModel):
field: dict = None
Example.schema()Expected:
In [5]: Example.schema()
Out[5]:
{'title': 'Example',
'type': 'object',
'properties': {'field': {'title': 'Field', 'type': 'object'}}}Actually:
ValueError: Value not declarable with JSON Schema, field: field type=dict default=NoneTraceback:
In [17]: Example.schema()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-17-dcbb076a11a6> in <module>
----> 1 Example.schema()
~/Documents/projects/broker.nosync/mf_credit_back/venv/lib/python3.7/site-packages/pydantic/main.py in schema(cls, by_alias)
334 if cached is not None:
335 return cached
--> 336 s = model_schema(cls, by_alias=by_alias)
337 cls._schema_cache[by_alias] = s
338 return s
~/Documents/projects/broker.nosync/mf_credit_back/venv/lib/python3.7/site-packages/pydantic/schema.py in model_schema(model, by_alias, ref_prefix)
189 model_name_map = get_model_name_map(flat_models)
190 m_schema, m_definitions = model_process_schema(
--> 191 model, by_alias=by_alias, model_name_map=model_name_map, ref_prefix=ref_prefix
192 )
193 if m_definitions:
~/Documents/projects/broker.nosync/mf_credit_back/venv/lib/python3.7/site-packages/pydantic/schema.py in model_process_schema(model, by_alias, model_name_map, ref_prefix)
455 s['description'] = clean_docstring(model.__doc__)
456 m_schema, m_definitions = model_type_schema(
--> 457 model, by_alias=by_alias, model_name_map=model_name_map, ref_prefix=ref_prefix
458 )
459 s.update(m_schema)
~/Documents/projects/broker.nosync/mf_credit_back/venv/lib/python3.7/site-packages/pydantic/schema.py in model_type_schema(model, by_alias, model_name_map, ref_prefix)
476 for k, f in model.__fields__.items():
477 f_schema, f_definitions = field_schema(
--> 478 f, by_alias=by_alias, model_name_map=model_name_map, ref_prefix=ref_prefix
479 )
480 definitions.update(f_definitions)
~/Documents/projects/broker.nosync/mf_credit_back/venv/lib/python3.7/site-packages/pydantic/schema.py in field_schema(field, by_alias, model_name_map, ref_prefix)
236 model_name_map=model_name_map,
237 schema_overrides=schema_overrides,
--> 238 ref_prefix=ref_prefix,
239 )
240 # $ref will only be returned when there are no schema_overrides
~/Documents/projects/broker.nosync/mf_credit_back/venv/lib/python3.7/site-packages/pydantic/schema.py in field_type_schema(field, by_alias, model_name_map, schema_overrides, ref_prefix)
434 model_name_map=model_name_map,
435 schema_overrides=schema_overrides,
--> 436 ref_prefix=ref_prefix,
437 )
438 definitions.update(f_definitions)
~/Documents/projects/broker.nosync/mf_credit_back/venv/lib/python3.7/site-packages/pydantic/schema.py in field_singleton_schema(field, by_alias, model_name_map, schema_overrides, ref_prefix)
632 else:
633 return sub_schema, definitions
--> 634 raise ValueError(f'Value not declarable with JSON Schema, field: {field}')
635
636
ValueError: Value not declarable with JSON Schema, field: field type=dict default=NoneMetadata
Metadata
Assignees
Labels
No labels