Metadata-Version: 1.1
Name: drf-nested-views
Version: 1.0.0
Summary: A set of views to work with drf-nested-routers
Home-page: https://github.com/weynelucas/drf-nested-views/
Author: Lucas Weyne
Author-email: weynelucas@gmail.com
License: UNKNOWN
Download-URL: https://github.com/weynelucas/drf-nested-views/archive/1.0.0.tar.gz
Description: drf-nested-views

        ================

        

        A set of views to work with `drf-nested-routers`_.

        

        View the `full documentation on GitHub`_.

        

        Instalation

        -----------

        

        You can install this library using pip:

        

        ::

        

            pip install drf-nested-views

        

        Requirements

        ------------

        

        This library was tested with the follow dependencies:

        

        -  `Django`_ - 1.11

        -  `Django REST Framework`_ - 3.7

        -  `drf-nested-routers`_ - 0.90.0

        

        Quickstart

        ----------

        

        Configure your desired URL signatures:

        

        .. code:: python

        

            # urls.py

            from rest_framework_nested import routers

            from views import DomainViewSet, NameserverViewSet

            (...)

        

            router = routers.SimpleRouter()

            router.register(r'domains', DomainViewSet)

        

            domains_router = routers.NestedSimpleRouter(router, r'domains', lookup='domain')

            domains_router.register(r'nameservers', NameserverViewSet, base_name='domain-nameservers')

        

        

            urlpatterns = patterns('',

                url(r'^', include(router.urls)),

                url(r'^', include(domains_router.urls)),

            )

        

        Configure serialization, with ``NestedHyperlinkedModelSerializer`` for

        nested objects:

        

        .. code:: python

        

            # serializers.py

            from rest_framework.serializers import HyperlinkedModelSerializer

            from rest_framework_nested.serializers import NestedHyperlinkedModelSerializer

        

        

            class NameserverSerializer(NestedHyperlinkedModelSerializer):

                parent_lookup_kwargs = {

                    'domain_pk': 'domain__pk',

                }

                class Meta:

                    model = Nameserver

                    fields = ('url', ...)

        

        

            class DomainSerializer(HyperlinkedModelSerializer):

                class Meta:

                    model = Domain

                fields = (..., 'nameservers')

        

                nameservers = NameserverSerializer(many=True, read_only=True)

        

        Create your viewsets extending ``ModelViewSet`` or

        ``ReadOnlyModelViewSet`` from ``drf_nested_views.viewsets`` to improve

        nested resources behaviour:

        

        .. code:: python

        

            # views.py

            from rest_framework import viewsets

            from drf_nested_views import viewsets as drf_nested_views

        

            from .models import Domain, Nameserver

            from .serializers import DomainSerializer, NameserverSerializer

        

        

            class DomainViewSet(viewsets.ModelViewSet):

                serializer_class = DomainSerializer

                queryset = Domain.objects.all()

        

        

            class NameserverViewSet(drf_nested_views.ModelViewSet):

                """

                ModelViewSet from drf_nested_views use `serializer_class`

                attribute to extract the queryset (if yor serializer is 

                a ModelSerializer subclass). In this case, you don't need 

                provide it.

                """

                serializer_class = NameserverSerializer

        

        .. _drf-nested-routers: https://github.com/alanjds/drf-nested-routers

        .. _full documentation on GitHub: https://github.com/weynelucas/drf-nested-views/

        .. _Django: https://www.djangoproject.com/

        .. _Django REST Framework: http://www.django-rest-framework.org/
Keywords: django rest framework drf nested routers views drf-nested-routers drf-nested-views
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
