Add note to tutorial about required request in serializer context when using HyperlinkedModelSerializer (#9732)

* Fix : Updated documentation in tutorial 5 leading to error

* Updated docs/tutorial/5-relationships-and-hyperlinked-apis.md

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>

* Missing newline

---------

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
This commit is contained in:
Ali Hassan 2025-07-07 16:11:24 +05:00 committed by GitHub
parent 70e54f45ad
commit 2ae8c117da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -94,6 +94,22 @@ Notice that we've also added a new `'highlight'` field. This field is of the sa
Because we've included format suffixed URLs such as `'.json'`, we also need to indicate on the `highlight` field that any format suffixed hyperlinks it returns should use the `'.html'` suffix.
---
**Note:**
When you are manually instantiating these serializers inside your views (e.g., in `SnippetDetail` or `SnippetList`), you **must** pass `context={'request': request}` so the serializer knows how to build absolute URLs. For example, instead of:
serializer = SnippetSerializer(snippet)
You must write:
serializer = SnippetSerializer(snippet, context={'request': request})
If your view is a subclass of `GenericAPIView`, you may use the `get_serializer_context()` as a convenience method.
---
## Making sure our URL patterns are named
If we're going to have a hyperlinked API, we need to make sure we name our URL patterns. Let's take a look at which URL patterns we need to name.