1
0
mirror of https://github.com/django/django.git synced 2025-10-09 14:59:24 +00:00

[5.2.x] Fixed #35877, Refs #36128 -- Documented unique constraint when migrating a m2m field to use a through model.

Backport of daba609a9bdc7a97bcf327c7ba0a5f7b3540b46e from main.
This commit is contained in:
Samriddha9619 2025-09-23 01:27:30 +05:30 committed by Sarah Boyce
parent 10a2d3b837
commit 6f3813e4b6

View File

@ -334,7 +334,7 @@ model, the default migration will delete the existing table and create a new
one, losing the existing relations. To avoid this, you can use
:class:`.SeparateDatabaseAndState` to rename the existing table to the new
table name while telling the migration autodetector that the new model has
been created. You can check the existing table name through
been created. You can check the existing table name and constraint name through
:djadmin:`sqlmigrate` or :djadmin:`dbshell`. You can check the new table name
with the through model's ``_meta.db_table`` property. Your new ``through``
model should use the same names for the ``ForeignKey``\s as Django did. Also if
@ -392,6 +392,14 @@ For example, if we had a ``Book`` model with a ``ManyToManyField`` linking to
),
),
],
options={
"constraints": [
models.UniqueConstraint(
fields=["author", "book"],
name="unique_author_book",
)
],
},
),
migrations.AlterField(
model_name="book",