Metadata-Version: 2.1
Name: autogenerated-api
Version: 1.1.9
Summary: Get Autogenerated Serializers and APi End Points
Home-page: https://github.com/djangoconfire/autogenerated_api.git
Author: RituRaj
Author-email: ritu31195@gmail.com
License: GPLv3
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Python: >=2.7.15
Description-Content-Type: text/markdown
Requires-Dist: django (==1.11.18)
Requires-Dist: django-filter (==1.0.4)
Requires-Dist: djangorestframework (==3.4.2)



# 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:

```bash
pip install autogenerated_api
```

## Customizable Files in Apps

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

### serilizers.py

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

### filters.py

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

## views.py

```python
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
```python
- main_proj_name
	- __init__.py
	- settings.py
	- urls.py
	- wsgi.py
	- api_urls.py
```

### Add below codes in `api_urls.py` file.
```python
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`

```python
urlpatterns = [
    url(r'^api/', include('main_proj_name.api_urls', namespace='api'),),
]
```

## Customizable Fields in Settings.

```python
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.






