summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
authorNiclas Olofsson <n@niclasolofsson.se>2014-07-26 11:06:30 +0200
committerTim Graham <timograham@gmail.com>2014-07-31 15:29:46 -0400
commitcdc25ac4747bf5a6cdc2e70461c2d43c54529d35 (patch)
tree98987ea8e79363268cd59368b445e0a86dd6b7b6 /django/forms
parent75790808993691d2869db577df6db47ecbef6f5a (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/forms')
-rw-r--r--django/forms/models.py4
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',