aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/fields.py
diff options
context:
space:
mode:
authorAndrew Hankinson2012-12-30 14:03:08 -0400
committerAndrew Hankinson2012-12-30 14:03:08 -0400
commitc6f212238c238561749574a54aec3b1b1fd8df61 (patch)
tree6c235aa1f61cdbcd834bccaa2c31c4c1bb32de0e /rest_framework/fields.py
parentdf1880185c87733a82a41392898e67fe02c769aa (diff)
parent33580c82b3487bdf00cbbaef409a4dd41e6750d5 (diff)
downloaddjango-rest-framework-c6f212238c238561749574a54aec3b1b1fd8df61.tar.bz2
Merge branch 'master' of git://github.com/tomchristie/django-rest-framework into patch-support
Diffstat (limited to 'rest_framework/fields.py')
-rw-r--r--rest_framework/fields.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index d3ef8f77..dd90c3f8 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -351,7 +351,12 @@ class RelatedField(WritableField):
if self.read_only:
return
- value = data.get(field_name)
+ try:
+ value = data[field_name]
+ except KeyError:
+ if self.required:
+ raise ValidationError(self.error_messages['required'])
+ return
if value in (None, '') and not self.null:
raise ValidationError('Value may not be null')
@@ -384,6 +389,7 @@ class ManyRelatedMixin(object):
else:
if value == ['']:
value = []
+
into[field_name] = [self.from_native(item) for item in value]
@@ -795,7 +801,7 @@ class ChoiceField(WritableField):
if value == smart_unicode(k2):
return True
else:
- if value == smart_unicode(k):
+ if value == smart_unicode(k) or value == k:
return True
return False