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 29185 Migrations with `default=some_callable` populate all existing rows with the same value Stavros Korokithakis nobody "A migration that adds a field with `default=some_func` run that function once and then use the value as the default for the new rows. This fact is [documented](https://docs.djangoproject.com/en/2.0/howto/writing-migrations/#migrations-that-add-unique-fields), though still surprising. I propose that `makemigrations` either issues a warning when a field with a `default=callable` is encountered, or, better yet, that it asks what the user intends and generates the three-step migration in the documentation instead. An acceptable solution would also be to generate the three-step migration without asking and then warn about slowness, as that is more in line with users' expectations." Bug closed Migrations 2.0 Normal duplicate Unreviewed 0 0 0 0 0 0