首页 > 解决方案 > Django makemigrations 不创建管理数据库

问题描述

我有一个 django 项目,这是 settings.py 中已安装的应用程序条目:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'crawler',
]

当我运行python manage.py migrate一切似乎都很好。但是当我尝试登录 django 管理页面时,它说

(1146,“表 'stock_db.django_session' 不存在”)

在我看来,这migrate不是创建 django 管理数据库,但为什么呢?我什至尝试删除数据库,再次创建它并运行python manage.py makemigrationspython manage.py migrate它没有创建 django_session 表。

标签: pythondjangodjango-admindjango-migrations

解决方案


始终确保在迁移之前运行makemigrations

首先使用以下命令运行迁移:

python manage.py makemigrations appname

python manage.py migrate

如果这不起作用,则使用删除当前迁移Python manage.py squashmigrations,然后重新运行迁移命令


推荐阅读