Hi Jason,
Thanks for explaining. It makes sense. I'm also thinking it might be much helpful to detect the rename as much as possible and give warning message about developer has to modify the migration to rename field properly. Alternatively, instead of detecting potential rename by django framework itself, it should be also helpful to add an option to makemigrations to do a rename migration, e.g.
./manage makemigrations --rename-field app
This new option would be useful for the case of creating a dedicated migration just to rename a field.