Django 1.7 - makemigrations not detecting changes
Hire the world's top talent on demand or became one of them at Toptal: https://topt.al/25cXVn
and get $2,000 discount on your first invoice
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Popsicle Puzzles
--
Chapters
00:00 Django 1.7 - Makemigrations Not Detecting Changes
00:52 Accepted Answer Score 31
01:20 Answer 2 Score 197
01:57 Answer 3 Score 21
02:40 Answer 4 Score 16
03:01 Thank you
--
Full question
https://stackoverflow.com/questions/2491...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #django #django17 #djangomigrations
#avk47
ANSWER 1
Score 197
If you're changing over from an existing app you made in django 1.6, then you need to do one pre-step (as I found out) listed in the documentation:
python manage.py makemigrations your_app_label
The documentation does not make it obvious that you need to add the app label to the command, as the first thing it tells you to do is python manage.py makemigrations which will fail. The initial migration is done when you create your app in version 1.7, but if you came from 1.6 it wouldn't have been carried out. See the 'Adding migration to apps' in the documentation for more details.
ACCEPTED ANSWER
Score 31
Ok, looks like I missed an obvious step, but posting this in case anyone else does the same.
When upgrading to 1.7, my models became unmanaged (managed = False) - I had them as True before but seems it got reverted.
Removing that line (To default to True) and then running makemigrations immediately made a migration module and now it's working. makemigrations will not work on unmanaged tables (Which is obvious in hindsight)
ANSWER 3
Score 21
My solution was not covered here so I'm posting it.  I had been using syncdb for a project–just to get it up and running.  Then when I tried to start using Django migrations, it faked them at first then would say it was 'OK' but nothing was happening to the database.
My solution was to just delete all the migration files for my app, as well as the database records for the app migrations in the django_migrations table.
Then I just did an initial migration with:
./manage.py makemigrations my_app
followed by:
./manage.py migrate my_app
Now I can make migrations without a problem.
ANSWER 4
Score 16
Agree with @furins. If everything seems to be in order and yet this problem arises, checkout if there is any property method with same title as the attribute which you are trying to add in the Model class.
- Remove method with similar name as attribute you are adding.
 - manage.py makemigrations my_app
 - manage.py migrate my_app
 - Add the methods back.