【问题标题】:PythonAnywhere: django.db.utils.OperationalError: no such table:PythonAnywhere:django.db.utils.OperationalError:没有这样的表:
【发布时间】:2020-02-11 10:25:39
【问题描述】:

我是deploying PythonAnywhere 上的一个项目。我正在使用sqlite 数据库。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase.db',
    }
}

makemigrations 启动时,文件mydatabase.db 会在项目的根目录中创建(其大小为 0 字节),但出现错误 - django.db.utils.OperationalError: no such table: ...

【问题讨论】:

  • makemigrations 只需创建迁移文件。您需要运行 migrate 将迁移应用到您的数据库。详情请见docs
  • 我得到同样的错误
  • ... no such table: ...什么表?请说明。
  • app_prediction
  • 所以您的项目中有app 应用程序,并在其中建模Prediction。当您运行 ./manage.py makemigrations./manage.py migrate 时,您会看到此错误。对吗?

标签: python django deployment pythonanywhere


【解决方案1】:

错误是由于我的粗心造成的。

在 django 中,views.pymigrations 之前执行。有一行运行database query。由于服务器上的database 是空的,并且脚本已经在执行对它的请求,很明显在migrations 期间我收到了这个错误。

只需删除/注释数据库请求就足够了。

【讨论】:

    猜你喜欢
    • 2016-08-23
    • 2017-02-19
    • 2012-09-28
    • 2019-05-17
    • 2021-12-10
    • 2020-05-30
    • 2014-11-04
    • 2012-10-16
    • 2013-03-07
    相关资源
    最近更新 更多