Vue d'ensemble
Django REST Framework 3.13, publié le 25 mars 2021, ajoute le support de Django 3.2 et améliore la génération des schémas OpenAPI.
Fonctionnalités principales
Support Django 3.2
DRF 3.13 est pleinement compatible avec Django 3.2 LTS, bénéficiant des nouveaux index fonctionnels et des améliorations de l'ORM Django.
python
from rest_framework import serializers, viewsets
from rest_framework.decorators import action
from rest_framework.response import Response
class ProduitSerializer(serializers.ModelSerializer):
class Meta:
model = Produit
fields = ['id', 'nom', 'prix', 'stock']
class ProduitViewSet(viewsets.ModelViewSet):
queryset = Produit.objects.all()
serializer_class = ProduitSerializer
@action(detail=False, methods=['get'])
def en_stock(self, request):
qs = self.queryset.filter(stock__gt=0)
serializer = self.get_serializer(qs, many=True)
return Response(serializer.data)
Améliorations OpenAPI
La génération automatique des schémas OpenAPI est améliorée avec un meilleur support des types, des réponses d'erreur et des paramètres de filtrage.
python
from rest_framework.schemas import get_schema_view
from django.urls import path
# Génération du schéma OpenAPI
schema_view = get_schema_view(
title='API Produits',
description='API de gestion des produits',
version='1.0.0',
)
urlpatterns = [
path('schema/', schema_view, name='openapi-schema'),
]
