openapi_model_generator
This library allows us to generate django models and drf serializers using an OpenAPI schema.
HowTo Use
pip install openapi_model_generator
python -m openapi_model_generator {open_api_path.json} {destination}
python -m openapi_model_generator {open_api_path.yaml} {destination}
As an example:
python -m openapi_model_generator schema.esb.json base_dir
or
python -m openapi_model_generator /home/user/schema.esb.json /home/user/base_dir
This command creates base models and serializers based on its models into the directory provided.
Then you can use them to define models and serializers in your Django+DRF application.
models.py:
from utils import define_models
from base_dir import base_models
define_models(['Model1', 'Model2', ...], base_models, locals())
serializers.py:
from utils import define_serializers
from base_dir import base_serializers
from . import models
define_serializers(['Model1', 'Model2', ...], base_serializers, locals(), models)
After that you can use them:
import pydoc
model_1 = pydoc.locate('{django_app}.models.Model1')
model_2 = pydoc.locate('{django_app}.models.Model2')
...
serializer_1 = pydoc.locate('{django_app}.serializers.Model1Serializer')
serializer_2 = pydoc.locate('{django_app}.serializers.Model2Serializer')
Release files for openapi-model-generator 0.1.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openapi_model_generator-0.1.15.linux-x86_64.tar.gz | 18.0 kB | Details |
Release files / openapi_model_generator-0.1.15.linux-x86_64.tar.gz
| Download URL | openapi_model_generator-0.1.15.linux-x86_64.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c42bd8de4fc091b224037f67316b2189264af4b7f9f86d24d9df619eee2360dd
|
|
BLAKE2b-256 checksum How to use checksums |
ca6f96705fd4ee7fa77ae32f91a8af402f0ee460766e5082fdaa4a128baf2175
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.8.10
|