Django постоянно пересоздает миграцию AlterField для m2m-поля

У меня очень раздражающая ситуация с моей моделью

Я переименовал модель, используемую в качестве таблицы ManyToMany

# The business models contains this field
admins = models.ManyToManyField("users.User", through=BusinessMember)
    
# this is the many to many model used in in Business
class BusinessMember(models.Model):
    user = models.ForeignKey(
        "users.User", related_name="memberships", null=False, on_delete=models.CASCADE
    )
    business = models.ForeignKey(
        "business.Business", related_name="members", null=False, on_delete=models.CASCADE
    )

    class Meta:
        db_table = "myproject__business_member"

Эта модель когда-то называлась "BusinessUser", и мне пришлось ее переименовать. Я создал следующие миграции для переименования модели

# Rename and alter model table 0011_rename_business_user_model.py
class Migration(migrations.Migration):

    dependencies = [
        ("business", "0010_add_business_field"),
    ]

    operations = [
        migrations.RenameModel("businessuser", "businessmember"),
        migrations.AlterModelTable(
            name="businessmember",
            table="myproject__business_member",
        ),
    ]
    

# Another migration to update the sequence

class Migration(migrations.Migration):

    dependencies = [
        ("business", "0011_rename_business_user_model"),
    ]

    operations = [
        migrations.RunSQL(
            "alter sequence myproject_business_user_id_seq rename to myproject__business_member_id_seq;"
        ),
    ]

После этого изменения makemigrations постоянно создает миграцию с этим AlterField

migrations.AlterField(
        model_name='business',
        name='admins',
        field=models.ManyToManyField(through='business.BusinessMember', to=settings.AUTH_USER_MODEL),
    ),

Неважно, сколько раз я мигрировал это AlterField, Django каждый раз создает новую миграцию.

У вас есть идеи, что я сделал не так?

Вернуться на верх