aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/relations.py
diff options
context:
space:
mode:
authorDevon Bleibtrey2015-03-22 13:50:05 -0400
committerDevon Bleibtrey2015-03-22 13:50:05 -0400
commit8a58b1a380cb3544d904524e0f040dca44f972de (patch)
tree2774d2318bfc93e3ad520aa351839289316b2c33 /rest_framework/relations.py
parentc9618cc0f33bec0e14c814e778727c084410badb (diff)
downloaddjango-rest-framework-8a58b1a380cb3544d904524e0f040dca44f972de.tar.bz2
Added ability to define backend identification attribute
Diffstat (limited to 'rest_framework/relations.py')
-rw-r--r--rest_framework/relations.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/rest_framework/relations.py b/rest_framework/relations.py
index 3a966c5b..13668975 100644
--- a/rest_framework/relations.py
+++ b/rest_framework/relations.py
@@ -166,6 +166,7 @@ class HyperlinkedRelatedField(RelatedField):
self.lookup_field = kwargs.pop('lookup_field', self.lookup_field)
self.lookup_url_kwarg = kwargs.pop('lookup_url_kwarg', self.lookup_field)
self.format = kwargs.pop('format', None)
+ self.id_field = kwargs.pop('id_field', 'pk')
# We include this simply for dependency injection in tests.
# We can't add it as a class attributes or it would expect an
@@ -196,7 +197,7 @@ class HyperlinkedRelatedField(RelatedField):
attributes are not configured to correctly match the URL conf.
"""
# Unsaved objects will not yet have a valid URL.
- if obj.pk is None:
+ if getattr(obj, self.id_field) is None:
return None
lookup_value = getattr(obj, self.lookup_field)