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
Hashes for autogenerated_api-1.1.22-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c7700f28afdabf4d01721df86559affb1702778ee1b2fd9a89261fcaf31f345 |
|
MD5 | 8fc212297c12357cd7c6f430fffb2315 |
|
BLAKE2b-256 | 4895e20cad4f902ca45de064cf111186331d3a4163d0f883bf404cb02b7454b9 |