Examples
Exposing a Django model
# in urls.py
from rest_framework.routers import DefaultRouter
from drf_shortcuts.urls import register_standard_endpoint
from my_fancy_app.models import MyModel
router = DefaultRouter()
register_standard_endpoint(router, MyModel)
# ... more URL configuration code here ...
urlpatterns = router.urls
Creating a viewset class
# in views.py
from drf_shortcuts.views import create_standard_viewset_class
from my_fancy_app.models import MyModel
MyModelViewSet = create_standard_viewset_class(MyModel)
Creating a serializer class
# in serializers.py
from drf_shortcuts.serializers import create_standard_serializer_class
from my_fancy_app.models import MyModel
MyModelSerializer = create_standard_serializer_class(MyModel)
Customizing a view using helpers
# in views.py
from rest_framework.viewsets import ReadOnlyModelViewSet
from drf_shortcuts.views import append_search_info_to_docstring
from drf_shortcuts.serializers import create_standard_serializer_class
from my_fancy_app.models import MyModel
@append_search_info_to_docstring
class MyModelViewSet(ReadOnlyModelViewSet):
serializer_class = create_standard_serializer_class(MyModel)
# ... rest of the view code ...