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/fields.py | |
| 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/fields.py')
| -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 |
