Django:MySQL没有这样的表:aidata.django_session

时间:2012-05-09 12:11:33

标签: django django-models

我在Pycharm的Windows 7上运行Django 1.4并且我安装了WAMP,因为我需要将我的数据放在MySQL表中。

这是来自setting.py

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'aidata',
    'USER': 'root'
   }
}

来自installed_apps我取消注释:

'django.contrib.sessions'

运行 manage.py syncdb 不会在我的mysqldb中创建任何表格(甚至模型)。

我在尝试访问/admin/

时收到错误消息
 DatabaseError at /admin/
(1146, "Table 'aidata.django_session' doesn't exist")

2 个答案:

答案 0 :(得分:4)

  1. 仔细检查数据库凭据
  2. 确保在中间件中取消注释此行:

    MIDDLEWARE_CLASSES =(     ....     'django.contrib.sessions.middleware.SessionMiddleware', )

  3. 然后尝试python manage.py syncdb

  4. 如果您在发布任何输出时仍有问题
  5. 编辑 - 下一步检查:

    1. 你有“django_content_type”表吗?
    2. 如果是,该表是否有“会话”记录?
    3. 如果是,请删除会话记录并尝试python manage.py syncdb
    4. 编辑 - 第3步:

      现在我猜测,发布您的设置文件,以便我可以进行有意义的故障排除尝试

      1. 如果您有一台正在运行的服务器,请停止服务器
      2. 进入您的文件浏览器并删除settings.pyc文件
      3. 尝试python manage.py syncdb
      4. 我的想法是带有sqlLite信息的pyc文件可能被缓存而不是重新生成

        编辑 - 第4步:

        你的settings.py中的一切看起来都不错。为我尝试一下?创建一个新的django项目,不要启用管理员或添加你的应用程序我只想知道你的django安装中的所有内容是否正常工作

        1. django-admin.py startproject testsite
        2. 执行数据库配置/设置
        3. python manage.py syncdb
        4. 让我知道模型是否正确创建

答案 1 :(得分:0)

我遇到了同样的问题并且对我来说(运行2013年9月中旬的django 1.7开发主干)它有助于

  1. 删除所有南迁移([app]/migration) - 目录
  2. 从settings.py
  3. 中的INSTALLED_APPS向南移除

    这可能是由于django v1.7中向集成迁移系统的转变,但我在这里猜测。