Django:错误:未知命令:'makemigrations'

时间:2013-11-27 18:19:36

标签: python django migration

我正在尝试关注Django教程,当我输入python manage.py makemigrations polls时,我遇到了以下错误

Unknown command: 'makemigrations'

这是教程的link,我成功地完成了所有前面的步骤,我不确定现在出了什么问题或者如何解决它。 P.S。:我已经在INSTALLED_APPS中加入了“民意调查”!

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

答案:我必须将INSTALLED_APPS修改为:

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

并且还使用了此命令:python manage.py syncdb

7 个答案:

答案 0 :(得分:22)

首次在2014年9月2日正式发布的1.7版本中添加了迁移。您需要确保您的教程与您正在使用的Django版本相匹配。例如,本教程的这个版本涵盖了1.9:

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

或者,如果您使用的是旧版本的Django,则可以将该URL中的“1.9”更改为您所使用的任何版本(返回1.3)。或者使用文档页面上的下拉菜单选择版本并搜索“教程”。

答案 1 :(得分:3)

找出您正在运行的django版本(thanks @BradyEmerso n):

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

如果大于1.8:

pip install --upgrade django

答案 2 :(得分:2)

我使用的是1.9版,但仍然出现此错误。我有未应用的迁移,这是我案例中的根本原因。我跑了python manage.py migrate'应用它们,它对我有用。

答案 3 :(得分:2)

在django makemigration在1.7之后添加,所以如果你使用旧版本的Django,那么你必须更改settings.py并在已安装的应用程序中添加你的应用程序,如

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

然后你可以运行命令

  

python manage.py syncdb

答案 4 :(得分:2)

您需要先加载虚拟环境。

使用以下代码进行Linux / OSX:

source venv/bin/active

以下Windows代码

source venv/Scripts/activate

答案 5 :(得分:0)

我做了以下(对于python版本3.6.4)以解决此问题:

  1. 安装virtualenv
  2. Activate virtualenv
  3. 干杯

答案 6 :(得分:0)

我第一次将以下代码添加到project_name \ settings.py文件中。

                  `INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        #Django REST Framework
        'rest_framework',
        #Games application
        'games.apps.GamesConfig',
                  ]`

保存后,在运行以下代码时出现错误。

                 `python manage.py makemigrations games`

然后,我检查了settings.py文件,我意识到有两个INSTALLED_APPS,而第二个没有。当我添加这些代码时,这些代码就起作用了。

       `#Django REST Framework
       'rest_framework',
        #Games application
       'games.apps.GamesConfig',`