aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/fields.py
diff options
context:
space:
mode:
authorTom Christie2012-10-30 11:10:23 +0000
committerTom Christie2012-10-30 11:10:23 +0000
commitcea907f172c4f640e8bb44e14fab43150fbbc6ad (patch)
tree341c95e91553ab9bcba54f7b3047809c907f911e /rest_framework/fields.py
parent0047a4602045ed0ef9efae9aa88143aa6a70d93d (diff)
downloaddjango-rest-framework-cea907f172c4f640e8bb44e14fab43150fbbc6ad.tar.bz2
Raise nicer exception if queryset not Set on writable related field. Refs: #338
Diffstat (limited to 'rest_framework/fields.py')
-rw-r--r--rest_framework/fields.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index 090a1e37..1d6d760e 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -291,6 +291,9 @@ class PrimaryKeyRelatedField(RelatedField):
return pk
def from_native(self, data):
+ if self.queryset is None:
+ raise Exception('Writable related fields must include a `queryset` argument')
+
try:
return self.queryset.get(pk=data)
except ObjectDoesNotExist:
@@ -374,6 +377,8 @@ class HyperlinkedRelatedField(RelatedField):
def from_native(self, value):
# Convert URL -> model instance pk
# TODO: Use values_list
+ if self.queryset is None:
+ raise Exception('Writable related fields must include a `queryset` argument')
if value.startswith('http:') or value.startswith('https:'):
# If needed convert absolute URLs to relative path