diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 2a7c17f876..d3eee8aeb6 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -304,7 +304,7 @@ class Field(object): """Flattened version of choices tuple.""" flat = [] for choice, value in self.choices: - if type(value) in (list, tuple): + if isinstance(value, (list, tuple)): flat.extend(value) else: flat.append((choice,value)) diff --git a/django/forms/fields.py b/django/forms/fields.py index 581d32d923..18174360f6 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -660,7 +660,7 @@ class ChoiceField(Field): def valid_value(self, value): "Check to see if the provided value is a valid choice" for k, v in self.choices: - if type(v) in (tuple, list): + if isinstance(v, (list, tuple)): # This is an optgroup, so look inside the group for options for k2, v2 in v: if value == smart_unicode(k2):