* updated patch to latest DRF revision

This commit is contained in:
Tom Jaster 2015-04-16 17:06:00 +02:00
parent 54e16f4ca2
commit 5ca98419c1

View File

@ -732,6 +732,7 @@ class ModelSerializer(Serializer):
models.URLField: URLField, models.URLField: URLField,
} }
serializer_related_field = PrimaryKeyRelatedField serializer_related_field = PrimaryKeyRelatedField
serializer_related_to_field = SlugRelatedField
serializer_url_field = HyperlinkedIdentityField serializer_url_field = HyperlinkedIdentityField
serializer_choice_field = ChoiceField serializer_choice_field = ChoiceField
@ -1021,6 +1022,11 @@ class ModelSerializer(Serializer):
field_class = self.serializer_related_field field_class = self.serializer_related_field
field_kwargs = get_relation_kwargs(field_name, relation_info) 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. # `view_name` is only valid for hyperlinked relationships.
if not issubclass(field_class, HyperlinkedRelatedField): if not issubclass(field_class, HyperlinkedRelatedField):
field_kwargs.pop('view_name', None) field_kwargs.pop('view_name', None)