diff options
| author | Tom Christie | 2012-10-04 11:26:41 +0100 | 
|---|---|---|
| committer | Tom Christie | 2012-10-04 11:26:41 +0100 | 
| commit | d89d6887d2eb8293348cb1a7a043a05352819cb8 (patch) | |
| tree | a01a3e80ec30a3d96fb45664e6c89f13abc84837 /rest_framework/fields.py | |
| parent | ad2149767bea4fcd07348ca77f6cad5719a44181 (diff) | |
| download | django-rest-framework-d89d6887d2eb8293348cb1a7a043a05352819cb8.tar.bz2 | |
HyperlinkedModelSerializer with working HyperlinkedIdentityField, but no hyperlinked relations
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/rest_framework/fields.py b/rest_framework/fields.py index edc77e1a..09ccc4ff 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -9,6 +9,7 @@ from django.conf import settings  from django.db import DEFAULT_DB_ALIAS  from django.utils.encoding import is_protected_type, smart_unicode  from django.utils.translation import ugettext_lazy as _ +from rest_framework.reverse import reverse  from rest_framework.compat import parse_date, parse_datetime  from rest_framework.compat import timezone @@ -173,6 +174,14 @@ class Field(object):              return {} +class HyperlinkedIdentityField(Field): +    def field_to_native(self, obj, field_name): +        request = self.context.get('request', None) +        view_name = self.parent.opts.view_name +        view_kwargs = {'pk': obj.pk} +        return reverse(view_name, kwargs=view_kwargs, request=request) + +  class RelatedField(Field):      """      A base class for model related fields or related managers. | 
