Get Autogenerated Serializers and APi End Points
Project description
Autogenerated Api
Get Autogenerated Serializers and API EndPoints
Requirements
- django
- djangorestframework
Tested with all django versions from 1.8.x to 2.x.x
Released with latest version of Django
.
Note
For Django==1.8.x
- djangorestfrmaework==3.4.2
Installing autogenerated-api
autogenerated-api built for django.
pip install autogenerated_api
Customizable Files in Apps
django_app architecture looks like
- appp_name
- __init__.py
- models.py
- serializers.py
- tests.py
- views.py
serilizers.py
from .models import ModelName
from autogenerated_api.serializers import DeadlySerializerFactory
ModelNameDeadlySerializer = DeadlySerializerFactory(modelName)
- DeadlySerializerFactory `Optional Paramaters`
- nest = ["field_1","field_2"]
- nested_fields = {"field_name_in_releation" : ["related_model_field_1","related_model_field_2"]}
- exclude = ["field_1","field_2"] : fields that you want to exclude
ModelNameDeadlySerializer = DeadlySerializerFactory(modelName,nest,nested_fields,exclude)
views.py
import app_name.models
import app_name.serializers
from autogenerated_api.autogeneration import make_all_viewsets
make_all_viewsets(__name__)
Create a new file api_urls.py
in main project folder.
Main project folder Architecture
- main_proj_name
- __init__.py
- settings.py
- urls.py
- wsgi.py
- api_urls.py
Add below codes in api_urls.py
file.
import app_name.views
from django.urls import path, re_path , include
from autogenerated_api import autogenerated_urls
urlpatterns = autogenerated_urls.urlpatterns
urlpatterns += []
Adding to URLs
Add the Below urls.py
from django.urls import path, re_path , include
urlpatterns = [
re_path(r'^api/', include('main_proj_name.api_urls' , 'main_proj_name'), namespace='api'),),
]
Customizable Fields in Settings.
AUTOGENERATE_APPS = ["app_name"]
Finally, you will get autogenerated seraializers and end points.
- Autogenerated End Points
- `/api/model_name_in_lower/` : list out all the model_instance
- `/api/model_name_in_lower/<instance_id>` : you will get detail of instance of given id
Why use autogenerated_api?
Through autogenerated_api
module , you can directly create serializers coresponding to each model and can also access the all fields value of model which are in relation (m2m or foreignkey relationship)
.
To get the list of model instance , You have to write an api end points , like ListAPiView
and for getting the detail of model instance, have to implement DetailAPIView or RetrieveApiView
end points.
Now , You don't have to create these APi-end points and get worry about the serailizers . This module will take care. Just , follow the steps that i mentioned above.
Coming
- Module with more functionality and more autogenerated end points.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file autogenerated_api-1.1.22-py2.py3-none-any.whl
.
File metadata
- Download URL: autogenerated_api-1.1.22-py2.py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.19.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c7700f28afdabf4d01721df86559affb1702778ee1b2fd9a89261fcaf31f345 |
|
MD5 | 8fc212297c12357cd7c6f430fffb2315 |
|
BLAKE2b-256 | 4895e20cad4f902ca45de064cf111186331d3a4163d0f883bf404cb02b7454b9 |