Skip to main content

Get Autogenerated Serializers and APi End Points

Project description

Autogenerated Api

Get Autogenerated Serializers and API EndPoints

Requirements

- django==1.8.14
- django-filter==1.0.4
- djangorestframework==3.4.2

Installing autogenerated-api

autogenerated-api built for django.

PyPi, install using PIP:

pip install autogenerated_api

Customizable Files in Apps

django_app architecture looks like
- appp_name
	- __init__.py
	- models.py
	- serializers.py
	- filters.py
	- tests.py
	- views.py

serilizers.py

from .models import ModelName
from autogenerated_api.serializers import DeadlySerializerFactory
ModelNameDeadlySerializer = DeadlySerializerFactory(modelName)

filters.py

from .models import ModelName
from autogenerated_api.autogeneration import make_model_filter
ModelNameFilter = make_model_filter(ModelName)

views.py

import app_name.models
import app_name.serializers
import app_name.filters
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.

from django.conf.urls import url,include
import app_name.views

from autogenerated_api import autogenerated_urls
urlpatterns = autogenerated_urls.urlpatterns

urlpatterns += []

Adding to URLs

Add the Below urls.py

urlpatterns = [
    url(r'^api/', include('main_proj_name.api_urls', 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 use autogenerated serializers and can also access the fields value of model which are in relation (m2m or foreignkey relationship).

To get the list of model instance , we 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 of the rest.

Coming

Module with more functionality and more autogenerated end points.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

autogenerated_api-1.1.12-py2.py3-none-any.whl (9.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page