diff options
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 518ba41a..b3a9b0df 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -301,7 +301,10 @@ class WritableField(Field): try: if self.use_files: files = files or {} - native = files[field_name] + try: + native = files[field_name] + except KeyError: + native = data[field_name] else: native = data[field_name] except KeyError: @@ -504,6 +507,11 @@ class ChoiceField(WritableField): return True return False + def from_native(self, value): + if value in validators.EMPTY_VALUES: + return None + return super(ChoiceField, self).from_native(value) + class EmailField(CharField): type_name = 'EmailField' |
