Django: Error: Unknown command: 'makemigrations'

Migrations were first added in version 1.7, officially released on September 2, 2014. You need to make sure your tutorial matches the version of Django you're working with. For instance, this version of the tutorial covers 1.9:

https://docs.djangoproject.com/en/1.9/intro/tutorial01/

Or, if you're using an older version of Django, you can change the "1.9" in that URL to whatever version you're on (back to 1.3). Or use the dropdown on the docs page to pick the version and search for "tutorial".


Find out what version of django you're running (thanks @BradyEmerson):

python -c "import django; print(django.get_version())"

If older than 1.8:

pip install --upgrade django

In django makemigration added after 1.7 so if you are using older version of Django then you have to change settings.py and add your application in installed app like

INSTALLED_APPS = (
    'Demo',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

and then you can run command

python manage.py syncdb


I was using version 1.9 and still getting this error. I had unapplied migrations and that was the root cause in my case. I ran 'python manage.py migrate' to apply them and it worked for me.