当我尝试使用mysql管理界面时,出现了“django_session表不存在”的错误。

8
"I'm new to using Django 1.10 with MySQL (5.6.17) (WAMP 2.5) and Python 3.5 on Windows 8.1.
I successfully configured the MySQL connector, created my models, and ran 'makemigrations myapp' and 'migrate myapp' using the PyCharm manage.py terminal.
However, when I try to access the admin web page, I receive the following error message: 'Exception Value:' (trabajo is my app within my programa project)."
(1146, "Table 'programa.django_session' doesn't exist")

在我的settings.py文件中有以下内容:
MIDDLEWARE_CLASSES = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

应用程序阻塞:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'trabajo',
]

连接数据库的方法如下:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME' : 'programa',
        'USER' : 'myownuser',
        'PASSWORD' : 'myownpassword',
        'HOST' : '',
        'PORT' : '',
    }
}

管理员页面为什么会出现这个错误?我该怎么办才能解决它呢?
提前感谢您的帮助!任何帮助都受欢迎!!;-)
Gustavo.
4个回答

11
如果您只是执行了 "迁移我的应用程序",那么您只是为您的应用程序创建了表格。我认为简单的 "迁移" 命令将为 Django 及其贡献模块创建所有表格。

1
谢谢伙计!我执行了 makemigrationsmigrate,现在可以正常工作了! - Gustux

7

运行命令:

python manage.py migrate sessions

这个不行!以下可以运行 - python manage.py migrate - Omkar

3

我遇到了同样的问题,我的问题是迁移历史记录表明它已经成功地为session创建了一个表,尽管它实际上没有在我的MySQL数据库中执行。

我通过运行以下命令来解决它:

python manage.py migrate --fake sessions zero

然后:

python manage.py migrate sessions

1
我收到了这个错误信息:

File "C:\Python39\lib\site-packages\MySQLdb\connections.py", line 259, in query_mysql.connection.query(self, query) MySQLdb._exceptions.ProgrammingError: (1146, "Table
'database_name.django_session' doesn't exist")

并通过以下命令解决:
python manage.py migrate sessions


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接