Opened 3 years ago

Last modified 18 months ago

#23034 assigned New feature

Add migrations support for adding ManyToMany "through" model

Reported by: lorinkoz@… Owned by: Marten Kenbeek
Component: Migrations Version: master
Severity: Normal Keywords:
Cc: carsten.fuchs@… Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: yes
Easy pickings: no UI/UX: no


Adding a "through" model on a ManyToMany field make "makemigrations" fail with an explicit error stating that it is not possible. I have worked it around by renaming the field, creating the migration (so as to make Django believe it's a new field) and then renaming the field back to the original name and creating another migration (which is correctly acknowledged by Django as a simple "renaming"). I understand the implications of adding a through model from the migrations perspective, but maybe a more friendly output could be achieved. Is it even possible to create some sort of interaction, like when you create a field with not null and no default value, so as to ask the user if they want to destroy/create a new field??

Change History (8)

comment:1 Changed 2 years ago by Tim Graham

Summary: Migrations fail with modified ManyToMany "through" modelAdd migrations support for adding ManyToMany "through" model
Triage Stage: UnreviewedAccepted
Type: UncategorizedNew feature

As Andrew noted in #22476, "as the error message says, you cannot alter an M2M without a through model into one with a through model, at least not in the current system." I'm not sure how feasible it will be to add support for thits, but tentatively accepting.

comment:2 Changed 2 years ago by Andrew Godwin

Triage Stage: AcceptedSomeday/Maybe

Triaging this to "someday/maybe". It would be nice, but it's a complex thing to add.

comment:3 Changed 23 months ago by Marten Kenbeek

Owner: changed from nobody to Marten Kenbeek
Status: newassigned
Triage Stage: Someday/MaybeAccepted
Version: 1.7-rc-1master

comment:4 Changed 23 months ago by Marten Kenbeek

Has patch: set

comment:5 Changed 23 months ago by Marten Kenbeek

Patch needs improvement: set

comment:6 Changed 23 months ago by Marten Kenbeek

Patch needs improvement: unset

comment:7 Changed 22 months ago by Tim Graham

Patch needs improvement: set

Markus reviewed the PR.

comment:8 Changed 18 months ago by Carsten Fuchs

Cc: carsten.fuchs@… added
Note: See TracTickets for help on using tickets.
Back to Top