Get Autogenerated Serializers and APi End Points
Project description
Autogenerated Api
Get Autogenerated Serializers and API EndPoints
Requirements
- django
- djangorestframework
Released with latest version of Django
.
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.21-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1d9828363a3bf2586cdd009ca9e6d8c909ce9a96243fad55781de15a0703399 |
|
MD5 | 98a5633bfeb68a544ec3465360e0e63e |
|
BLAKE2b-256 | ddae19953ca9e5a42766bf2ce9fbae9e3b1b28285193baeb6f8f5faa31a8fb3d |