From 5ca98419c11814bb0eb8d699e90f9e85cf12f7db Mon Sep 17 00:00:00 2001 From: Tom Jaster Date: Thu, 16 Apr 2015 17:06:00 +0200 Subject: [PATCH] * updated patch to latest DRF revision --- rest_framework/serializers.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 2eef6eeb5..c98ced524 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -732,6 +732,7 @@ class ModelSerializer(Serializer): models.URLField: URLField, } serializer_related_field = PrimaryKeyRelatedField + serializer_related_to_field = SlugRelatedField serializer_url_field = HyperlinkedIdentityField serializer_choice_field = ChoiceField @@ -1021,6 +1022,11 @@ class ModelSerializer(Serializer): field_class = self.serializer_related_field field_kwargs = get_relation_kwargs(field_name, relation_info) + to_field = field_kwargs.pop('to_field', None) + if to_field and to_field != 'id': + field_kwargs['slug_field'] = to_field + field_class = self.serializer_related_to_field + # `view_name` is only valid for hyperlinked relationships. if not issubclass(field_class, HyperlinkedRelatedField): field_kwargs.pop('view_name', None)