HyperlinkedModelSerializer Example

A snippet showing how to use HyperlinkedModelSerializer in DRF.


# serializers.py

from rest_framework import serializers
from .models import Author, Book

class BookHyperSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Book
        fields = ["url", "id", "title", "author"]
      

# views.py

from rest_framework import viewsets
from .models import Book
from .serializers import BookHyperSerializer

class BookViewSet(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookHyperSerializer
      

# urls.py

from django.urls import include, path
from rest_framework.routers import DefaultRouter
from .views import BookViewSet

router = DefaultRouter()
router.register(r"books", BookViewSet)

urlpatterns = [path("api/", include(router.urls))]
      
Explanation:
  • HyperlinkedModelSerializer uses URLs instead of primary keys for relationships.
Never miss a story on Django.wiki

Subscribe for fresh tutorials, snippets, and updates.

By subscribing you agree to our Privacy Policy.