summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorSimon Charette <charettes@users.noreply.github.com>2016-04-28 18:20:48 -0400
committerSimon Charette <charettes@users.noreply.github.com>2016-04-28 18:20:48 -0400
commitf951bb78cbf179f0fb70fe74ae0c218925fd7ede (patch)
tree9d7432353e29271cbea3882625ec9b104a2f1045 /django
parentce32c3e2cc8bdaa9557d4f3c9d830d7af3d01ca9 (diff)
Refs #26521 -- Adjusted CreateModel bases validation to account for mixins.
Thanks Collin for the report.
Diffstat (limited to 'django')
-rw-r--r--django/db/migrations/operations/models.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/django/db/migrations/operations/models.py b/django/db/migrations/operations/models.py
index 5fa9addb12..10af84cc47 100644
--- a/django/db/migrations/operations/models.py
+++ b/django/db/migrations/operations/models.py
@@ -56,12 +56,11 @@ class CreateModel(ModelOperation):
# Sanity-check that there are no duplicated field names, bases, or
# manager names
_check_for_duplicates('fields', (name for name, _ in self.fields))
- _check_for_duplicates(
- 'bases',
- (base._meta.label_lower if isinstance(base, models.base.ModelBase) else base.lower()
- for base in self.bases
- if base is not models.Model)
- )
+ _check_for_duplicates('bases', (
+ base._meta.label_lower if hasattr(base, '_meta') else
+ base.lower() if isinstance(base, six.string_types) else base
+ for base in self.bases
+ ))
_check_for_duplicates('managers', (name for name, _ in self.managers))
def deconstruct(self):