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 каждый раз создает новую миграцию.
У вас есть идеи, что я сделал не так?