|
@@ -293,14 +293,15 @@ class ModelBase(type):
|
|
|
else:
|
|
|
new_class.add_to_class(field.name, copy.deepcopy(field))
|
|
|
|
|
|
- if base_meta and base_meta.abstract and not abstract:
|
|
|
- new_class._meta.indexes = [copy.deepcopy(idx) for idx in new_class._meta.indexes]
|
|
|
- # Set the name of _meta.indexes. This can't be done in
|
|
|
- # Options.contribute_to_class() because fields haven't been added
|
|
|
- # to the model at that point.
|
|
|
- for index in new_class._meta.indexes:
|
|
|
- if not index.name:
|
|
|
- index.set_name_with_model(new_class)
|
|
|
+ # Copy indexes so that index names are unique when models extend an
|
|
|
+ # abstract model.
|
|
|
+ new_class._meta.indexes = [copy.deepcopy(idx) for idx in new_class._meta.indexes]
|
|
|
+ # Set the name of _meta.indexes. This can't be done in
|
|
|
+ # Options.contribute_to_class() because fields haven't been added to
|
|
|
+ # the model at that point.
|
|
|
+ for index in new_class._meta.indexes:
|
|
|
+ if not index.name:
|
|
|
+ index.set_name_with_model(new_class)
|
|
|
|
|
|
if abstract:
|
|
|
# Abstract base models can't be instantiated and don't appear in
|