Django migration error :you cannot alter to or from M2M fields, or add or remove through= on M2M fields

I stumbled upon this and although I didn’t care about my data much, I still didn’t want to delete the whole DB. So I opened the migration file and changed the AlterField() command to a RemoveField() and an AddField() command that worked well. I lost my data on the specific field, but nothing else.

I.e.

migrations.AlterField(
    model_name="player",
    name="teams",
    field=models.ManyToManyField(related_name="players", through="players.TeamPlayer", to='players.Team'),
),

to

migrations.RemoveField(
    model_name="player",
    name="teams",
),
migrations.AddField(
    model_name="player",
    name="teams",
    field=models.ManyToManyField(related_name="players", through="players.TeamPlayer", to='players.Team'),
),

Leave a Comment