Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Added ability to define backend identification attribute
  • Loading branch information
bleib1dj committed Mar 22, 2015
commit 8a58b1a380cb3544d904524e0f040dca44f972de
3 changes: 2 additions & 1 deletion rest_framework/relations.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ def __init__(self, view_name=None, **kwargs):
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
Expand Down Expand Up @@ -196,7 +197,7 @@ def get_url(self, obj, view_name, request, format):
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)
Expand Down