aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorTom Christie2014-01-14 20:35:26 +0000
committerTom Christie2014-01-14 20:35:26 +0000
commit8f6983ee6efda28083c058913febc0632670dacd (patch)
tree82213cad72e08f71e442508aaa821346bc953fb9 /rest_framework/serializers.py
parentdde3b1dfcb5490712ee462fcf360395da0b5d4fd (diff)
parented8143b2b05cd16952262c939b15053f7b93893a (diff)
downloaddjango-rest-framework-8f6983ee6efda28083c058913febc0632670dacd.tar.bz2
Merge branch 'master' of git://github.com/sprymak/django-rest-framework into sprymak-master
Diffstat (limited to 'rest_framework/serializers.py')
-rw-r--r--rest_framework/serializers.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index 9f047b03..414a769f 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -21,6 +21,8 @@ from django.db import models
from django.forms import widgets
from django.utils.datastructures import SortedDict
from rest_framework.compat import get_concrete_model, six
+from rest_framework.settings import api_settings
+
# Note: We do the following so that users of the framework can use this style:
#
@@ -1031,6 +1033,7 @@ class HyperlinkedModelSerializerOptions(ModelSerializerOptions):
super(HyperlinkedModelSerializerOptions, self).__init__(meta)
self.view_name = getattr(meta, 'view_name', None)
self.lookup_field = getattr(meta, 'lookup_field', None)
+ self.url_field_name = getattr(meta, 'url_field_name', api_settings.URL_FIELD_NAME)
class HyperlinkedModelSerializer(ModelSerializer):
@@ -1049,13 +1052,13 @@ class HyperlinkedModelSerializer(ModelSerializer):
if self.opts.view_name is None:
self.opts.view_name = self._get_default_view_name(self.opts.model)
- if 'url' not in fields:
+ if self.opts.url_field_name not in fields:
url_field = self._hyperlink_identify_field_class(
view_name=self.opts.view_name,
lookup_field=self.opts.lookup_field
)
ret = self._dict_class()
- ret['url'] = url_field
+ ret[self.opts.url_field_name] = url_field
ret.update(fields)
fields = ret
@@ -1091,7 +1094,7 @@ class HyperlinkedModelSerializer(ModelSerializer):
We need to override the default, to use the url as the identity.
"""
try:
- return data.get('url', None)
+ return data.get(self.opts.url_field_name, None)
except AttributeError:
return None