﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32900	Migrations questioner uses bad grammar	Christian Ullrich	Mateo Radman	"The interactive questioner, when it asks what to do about changes in nullability or adding a NOT NULL field, provides multiple options. Some of these speak ''to'' the user, some ''as'' the user.

One example of several:

{{{
You are trying to add a non-nullable field 'id' to mymodel without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Quit, and let me add a default in models.py
}}}

In option 1, Django offers the user the choice of entering the default value. Option 2 instead is the user telling Django what to do.

Each time I read this, I'm asking myself who the ""me"" in option 2 is. The most egregious case is in InteractiveMigrationQuestioner.ask_not_null_alteration(): ""[...] let ''me'' handle existing rows [...] (e.g. because ''you'' added a RunPython [...]"". In this sentence, ""me"" and ""you"" are the same.

Fix: Either reword the ""provide"" options to say ""Let me enter a one-off default now"", or the ""let me"" options to the same style as the ""provide"" options. I am very much in favor of the latter because I think this ""me, the user"" style is terrible."	Cleanup/optimization	closed	Migrations	3.2	Normal	fixed			Ready for checkin	1	0	0	0	1	0
