🎨 pydantic model and readonly schema
This commit is contained in:
parent
d509b58282
commit
09648fa292
1 changed files with 13 additions and 1 deletions
|
|
@ -12,7 +12,7 @@ class ModelMeta(type(TortoiseModel)):
|
||||||
class BoundSchema:
|
class BoundSchema:
|
||||||
@property
|
@property
|
||||||
def model(self):
|
def model(self):
|
||||||
"""Return a Pydantic model class for 'one' results."""
|
"""Return a Pydantic model class for serializing results."""
|
||||||
include = getattr(schema_opts, "include", None)
|
include = getattr(schema_opts, "include", None)
|
||||||
exclude = getattr(schema_opts, "exclude", None)
|
exclude = getattr(schema_opts, "exclude", None)
|
||||||
return pydantic_model_creator(
|
return pydantic_model_creator(
|
||||||
|
|
@ -20,6 +20,18 @@ class ModelMeta(type(TortoiseModel)):
|
||||||
name=f"{new_cls.__name__}Schema",
|
name=f"{new_cls.__name__}Schema",
|
||||||
include=include,
|
include=include,
|
||||||
exclude=exclude,
|
exclude=exclude,
|
||||||
|
)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def readonly(self):
|
||||||
|
"""Return a Pydantic model class for serializing readonly results."""
|
||||||
|
include = getattr(schema_opts, "include", None)
|
||||||
|
exclude = getattr(schema_opts, "exclude", None)
|
||||||
|
return pydantic_model_creator(
|
||||||
|
new_cls,
|
||||||
|
name=f"{new_cls.__name__}SchemaReadonly",
|
||||||
|
include=include,
|
||||||
|
exclude=exclude,
|
||||||
exclude_readonly=True,
|
exclude_readonly=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue