Python makemigrations says no changes detected


In the section “Finishing setting up your database with migrations,” the shell command “python makemigrations” produces “No changes detected”

I keep forgetting to work inside of my venv, so maybe something did not get saved properly in a previous step?

Update: In the very next section, you ask us to open, and apparently that files does not exist in my collections folder. I did the createsuperuser thing again, but that didn’t help.


Can you list out all the files in your folders, in a format like this?

hellowebapp (your project name)
— collection (your app name)
—— (etc.)
— hellowebapp (your project name)
—— (etc.)


— README.txt

I thought you probably wouldn’t care to see inside some of the folders like “cache” so they are not expanded. Thanks!


As far as I can tell, you have a few layers of folders/nesting than you should, and Django might not be able to see your database. Generally there should be the top level folder (with, then your app folder (collection, with There is a folder called speclist101 in between, so looks like the project was set up differently than what was recommended in Hello Web App. :( Did you do anything extra?


In one of your supplementary instruction pages, ( you list a folder tree that shows:


It appears to be the same nesting structure to me.


Oh I see, you went from big to little dashes halfway through.

What’s in your Can you paste it into pastebin?


Yes, that was rather confusing. I have fixed the hyphenation, but upon further inspection, it does appear that is in a different folder than you had it. The guys at PythonAnywhere said this shouldn’t matter (it’s their default when you launch a Django app there), but they said maybe Django1.8 isn’t playing nice, so I am going to try with 1.7.8.

In case you want to see


Ok, I have solved this problem. I started from scratch with a new environment, and this time with Python3.4 and Django1.7.8, I am able to get past makemigrations. Yay! There were a few settings with PythonAnywhere which I took more time to figure out this go around, so I can’t say with certainty if makemigrations was broken in Django1.8, but it may be something to keep an eye on.


Thanks! I definitely need to try working with Python Anywhere. Glad it worked out for you and thanks for letting me know the process you took to fix it. :) :) :)


I had a similar issue (the same warning message in the CLI)
Im my case the issue was that my app folder was named ‘collection’, while in it was ‘collections’ (with ‘s’ in the end)
once I corrected the app name in the file, it went OK.


Thanks, good to know!


Hi! thank you for the forum, it does help. Ok so I have the same problem as mentioned above… Pg37

$ python makemigrations

The last 3 lines after “No chages detected” were accidental key presses.

Also see that a “migrations” folder is inside the collection folder I am not sure if this folder existed before executing “$ python makemigrations”

Also this is how it looks inside

Application definition

‘collection’, #this is the app we added
‘django.contrib.humanize’, #This app was added as requested from page 30

These are my folders:



migrations, init.pyc








about.html, contact.html, index.html, admin.pyc,,, init.pyc,, models.pyc,,, views.pyc

hellowebapp, init.pyc,, settings.pyc,, urls.pyc,, wsgi.pyc









Ok so I fixed it, it was my mistake. I never edited to add

class Thing(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
slug = models.SlugField(unique=True)

So obviously there was no changes detected lol.

The one thing that worries me for future use is in the picture posted above where it says “…and will be removed in Django 1.10(got collection.views.index) Pass the callable instead…” what does that mean? and how it may affect me later i don’t know



Here’s a Stack Overflow about that error message:

What’s your look like?


Hi, sorry I didn’t get back as quick, but here is my urls and settings. Before looking through the code please note that the urls I have does not import include nor patterns because it just did not come like that when I installed python or django. Idk but it just didnt. I never wanted to mess with that code and it did not make a difference so far.

  1. This did not make a difference because it seemed everything was working properly in the urlpatterns [] list in my code. In the book urlpatterns = a function named patterns( ) and that is why it seems it needs to import include. (I guess)

  2. I didn’t need include until chapter 10 page 65 when the book requires it for
    """ url(r’^accounts/’, include( ‘registration.backends.simple.urls’ )) “”"

I don’t know what the function include does and why my code did not need it then and why it needs it know

Also know that I installed with “”“pip install django-registration-redux==1.1"”"" while in the venv inside

And thank you beforehand

#the book in page 24 has include and patterns for importing

from django.conf.urls import url #this is how i got it from the begining
from django.contrib import admin
from django.views.generic import TemplateView

urlpatterns = [
url(r’^$’, ‘collection.views.index’, name=‘home’),




    'collection.views.edit_thing', name='edit_thing'),

#in the book page 65 indicates to write the following:
url(r'^accounts/', include('registration.backends.simple.urls')),

#The following line is how it started without any changes but the book shows it in a different way

url(r’^admin/’,,#in the book this shows “, include(”

#the book shows:
url(r’^admin/’, include(,

import os

‘collection’, #this is the app we added
‘registration’, #Page 64 MyHelloWebApp

#This is the error Im having in the terminal

(venv) [email protected]:~/projects/myhellowebapp$ python runserver

Unhandled exception in thread started by <function wrapper at 0x7f3aec0d6b90>

Traceback (most recent call last):
File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/utils/”, line 226, in wrapper
fn(*args, **kwargs)

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/core/management/commands/”, line 109, in inner_run

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/utils/”, line 249, in raise_last_exception

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/utils/”, line 226, in wrapper
fn(*args, **kwargs)

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/”, line 18, in setup

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/apps/”, line 115, in populate

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/contrib/admin/”, line 22, in ready

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/contrib/admin/”, line 26, in autodiscover
autodiscover_modules(‘admin’, register_to=site)

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/utils/”, line 50, in autodiscover_modules
import_module(’%s.%s’ % (, module_to_search))

File “/usr/lib/python2.7/importlib/”, line 37, in import_module

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/registration/”, line 2, in
from django.contrib.sites.models import RequestSite

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/contrib/sites/”, line 83, in
class Site(models.Model):

File “/home/renato/projects/myhellowebapp/venv/local/lib/python2.7/site-packages/django/db/models/”, line 102, in new
"INSTALLED_APPS." % (module, name)

RuntimeError: Model class django.contrib.sites.models.Site doesn’t declare an explicit app_label and isn’t in an application in INSTALLED_APPS.


Also I looked through the files and django and registration have the same folder level inside site-packages so without using “”“include”"" or importing “”“site-packages”"" should the compiler know what I am referring to when i say “”“url(r’^accounts/’, registration.backends.simple.urls)”"" ???


Fixed so far

‘collection’, #this is the app we added
‘django.contrib.sites’,#this was not in the initial code but I had to add it as recommendation in
’django.contrib.humanize’, #This app was added as requested from page 30
’registration’, #Page 64 MyHelloWebApp, registration needs django.contrib.sites to work

This will throw an import error with RequestSite
RequestSite is now in another location


add django.contrib.sites to your applications once you run your server in the terminal you probably will get the import error, that is because RequestSite is in another location so just check the link given and try it again.


FYI, I borked my email server and didn’t notice, and ergo missed these updates. Just wanted to apologize, sorry about that!


A similar thing happened to me and it was because I was missing the migrations folder with it’s init file:

├── my_app
│ ├──
│ ├── admin.pyc
│ ├──
│ ├──
│ ├── migrations
│ │ ├──
│ ├──
│ ├──

Hope it helps!