Skip to content

Instantly share code, notes, and snippets.

@mykwillis
Created September 21, 2015 13:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mykwillis/33d110b85ce15fc62470 to your computer and use it in GitHub Desktop.
Save mykwillis/33d110b85ce15fc62470 to your computer and use it in GitHub Desktop.
Allow a Django Rest Framework field to be serialized out as a hyperlink, but in as a primary key
class HybridPrimaryKeyRelatedField(serializers.HyperlinkedRelatedField):
"""Serializes out as hyperlink, in as primary key"""
def to_internal_value(self, data):
return self.get_queryset().get(pk=data)
class BreedSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Breed
class DogSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Dog
breed = HybridPrimaryKeyRelatedField(queryset=Breed.objects,
view_name='breed-detail')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment