0 Tage Serie
python / intermediate
Snippet

Django REST Framework ViewSets und Router

ViewSets kombinieren list, create, retrieve, update und destroy Aktionen in einer einzigen Klasse. Router generieren automatisch URL-Muster, was Boilerplate reduziert und eine konsistente URL-Struktur über die gesamte API gewährleistet.

snippet.py
python
1
2
3
4
5
6
7
8
9
10
11
from rest_framework import viewsets, routers
from .models import Article
from .serializers import ArticleSerializer
class ArticleViewSet(viewsets.ModelViewSet):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
filterset_fields = ['status', 'category']
router = routers.DefaultRouter()
router.register(r'articles', ArticleViewSet, basename='article')
django
Erklärung
1
viewsets.ModelViewSet
Bietet alle CRUD-Operationen plus list-Aktion
2
filterset_fields
Ermöglicht automatisches Filtern via Query-Parameter
3
router.register()
Ordnet ViewSet automatisch URL-Mustern zu