aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/relations.py
diff options
context:
space:
mode:
authorTom Christie2013-02-12 13:54:50 +0000
committerTom Christie2013-02-12 13:54:50 +0000
commit41ac1e8f32491f50a5c784bb1cd1cfdba52f7072 (patch)
tree2cda5be8af5c57379a169527cc08c2643f5048f1 /rest_framework/relations.py
parent388e6173669a295214a718e55dbf467559835dee (diff)
downloaddjango-rest-framework-41ac1e8f32491f50a5c784bb1cd1cfdba52f7072.tar.bz2
Raise warnings if 'request' not in context for hyperlinked fields.
Diffstat (limited to 'rest_framework/relations.py')
-rw-r--r--rest_framework/relations.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/rest_framework/relations.py b/rest_framework/relations.py
index 53fd646d..24e8e15c 100644
--- a/rest_framework/relations.py
+++ b/rest_framework/relations.py
@@ -311,6 +311,13 @@ class HyperlinkedRelatedField(RelatedField):
view_name = self.view_name
request = self.context.get('request', None)
format = self.format or self.context.get('format', None)
+
+ if request is None:
+ warnings.warn("Using `HyperlinkedRelatedField` without including the "
+ "request in the serializer context is due to be deprecated. "
+ "Add `context={'request': request}` when instantiating the serializer.",
+ PendingDeprecationWarning, stacklevel=4)
+
pk = getattr(obj, 'pk', None)
if pk is None:
return
@@ -420,6 +427,12 @@ class HyperlinkedIdentityField(Field):
view_name = self.view_name or self.parent.opts.view_name
kwargs = {self.pk_url_kwarg: obj.pk}
+ if request is None:
+ warnings.warn("Using `HyperlinkedIdentityField` without including the "
+ "request in the serializer context is due to be deprecated. "
+ "Add `context={'request': request}` when instantiating the serializer.",
+ PendingDeprecationWarning, stacklevel=4)
+
# By default use whatever format is given for the current context
# unless the target is a different type to the source.
#