diff options
| author | Niclas Olofsson <n@niclasolofsson.se> | 2014-07-26 11:06:30 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-07-31 15:29:46 -0400 |
| commit | cdc25ac4747bf5a6cdc2e70461c2d43c54529d35 (patch) | |
| tree | 98987ea8e79363268cd59368b445e0a86dd6b7b6 /django | |
| parent | 75790808993691d2869db577df6db47ecbef6f5a (diff) | |
Fixed #22808 -- Made ModelMultipleChoiceField validation more robust to invalid data types..
Thanks Mattias Lindvall for the report and inital patch.
Diffstat (limited to 'django')
| -rw-r--r-- | django/forms/models.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/django/forms/models.py b/django/forms/models.py index 5838ac1631..fb342b3316 100644 --- a/django/forms/models.py +++ b/django/forms/models.py @@ -1179,7 +1179,7 @@ class ModelChoiceField(ChoiceField): try: key = self.to_field_name or 'pk' value = self.queryset.get(**{key: value}) - except (ValueError, self.queryset.model.DoesNotExist): + except (ValueError, TypeError, self.queryset.model.DoesNotExist): raise ValidationError(self.error_messages['invalid_choice'], code='invalid_choice') return value @@ -1227,7 +1227,7 @@ class ModelMultipleChoiceField(ModelChoiceField): for pk in value: try: self.queryset.filter(**{key: pk}) - except ValueError: + except (ValueError, TypeError): raise ValidationError( self.error_messages['invalid_pk_value'], code='invalid_pk_value', |
