diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-16 21:09:24 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-16 21:09:24 +0100 |
| commit | 1e2e1be02bdf0fe4add0d0279dbca1d74ae28ad7 (patch) | |
| tree | c71659b8d9fb26e88627a29930178dd9037c9a30 /django | |
| parent | 35c2474f168fd10ac50886024d5879de81be5bd3 (diff) | |
Fixed #33515 -- Prevented recreation of migration for ManyToManyField to lowercased swappable setting.
Thanks Chris Lee for the report.
Regression in 43289707809c814a70f0db38ca4f82f35f43dbfd.
Refs #23916.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/fields/related.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index 18c6c4e607..ca4f4368b6 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -1728,11 +1728,15 @@ class ManyToManyField(RelatedField): kwargs["db_table"] = self.db_table if self.remote_field.db_constraint is not True: kwargs["db_constraint"] = self.remote_field.db_constraint - # Rel needs more work. + # Lowercase model names as they should be treated as case-insensitive. if isinstance(self.remote_field.model, str): - kwargs["to"] = self.remote_field.model + if "." in self.remote_field.model: + app_label, model_name = self.remote_field.model.split(".") + kwargs["to"] = "%s.%s" % (app_label, model_name.lower()) + else: + kwargs["to"] = self.remote_field.model.lower() else: - kwargs["to"] = self.remote_field.model._meta.label + kwargs["to"] = self.remote_field.model._meta.label_lower if getattr(self.remote_field, "through", None) is not None: if isinstance(self.remote_field.through, str): kwargs["through"] = self.remote_field.through |
