diff options
| author | Tom Christie | 2012-10-30 11:10:23 +0000 | 
|---|---|---|
| committer | Tom Christie | 2012-10-30 11:10:23 +0000 | 
| commit | cea907f172c4f640e8bb44e14fab43150fbbc6ad (patch) | |
| tree | 341c95e91553ab9bcba54f7b3047809c907f911e /rest_framework | |
| parent | 0047a4602045ed0ef9efae9aa88143aa6a70d93d (diff) | |
| download | django-rest-framework-cea907f172c4f640e8bb44e14fab43150fbbc6ad.tar.bz2 | |
Raise nicer exception if queryset not Set on writable related field.  Refs: #338
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/fields.py | 5 | 
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  | 
