diff options
Diffstat (limited to 'django/db/backends/base')
| -rw-r--r-- | django/db/backends/base/schema.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/django/db/backends/base/schema.py b/django/db/backends/base/schema.py index f6b675339a..3e38c56d50 100644 --- a/django/db/backends/base/schema.py +++ b/django/db/backends/base/schema.py @@ -964,7 +964,9 @@ class BaseDatabaseSchemaEditor: fks_dropped.add((old_field.column,)) self.execute(self._delete_fk_sql(model, fk_name)) # Has unique been removed? - if old_field.unique and not old_field.primary_key and not new_field.unique: + if old_field.unique and ( + not new_field.unique or self._field_became_primary_key(old_field, new_field) + ): # Find the unique constraint for this field meta_constraint_names = { constraint.name for constraint in model._meta.constraints |
