diff --git a/rest_framework/relations.py b/rest_framework/relations.py index 0b7c9d864b..d56438ef3f 100644 --- a/rest_framework/relations.py +++ b/rest_framework/relations.py @@ -196,7 +196,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, 'pk', None) is None: return None lookup_value = getattr(obj, self.lookup_field)