diff options
| author | Tom Christie | 2013-02-12 13:54:50 +0000 | 
|---|---|---|
| committer | Tom Christie | 2013-02-12 13:54:50 +0000 | 
| commit | 41ac1e8f32491f50a5c784bb1cd1cfdba52f7072 (patch) | |
| tree | 2cda5be8af5c57379a169527cc08c2643f5048f1 /rest_framework/relations.py | |
| parent | 388e6173669a295214a718e55dbf467559835dee (diff) | |
| download | django-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.py | 13 | 
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.          # | 
