【问题标题】:SchemaEditor error when trying runserver尝试运行服务器时出现 SchemaEditor 错误
【发布时间】:2015-07-27 20:14:12
【问题描述】:

我有一个 MongoDB 后端,在python3 manage.py runserver 时遇到此错误。

Traceback(最近一次调用最后一次): 包装器中的文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/utils/autoreload.py”,第 225 行 fn(*args, **kwargs) 文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/core/management/commands/runserver.py”,第 112 行,inner_run self.check_migrations() 文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/core/management/commands/runserver.py”,第 164 行,在 check_migrations 执行器 = MigrationExecutor(连接[DEFAULT_DB_ALIAS]) init中的文件“hct.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/db/migrations/executor.py”,第 19 行> self.loader = MigrationLoader(self.connection) init 中的文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/db/migrations/loader.py”,第 47 行强> self.build_graph() 文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/db/migrations/loader.py”,第 182 行,在 build_graph self.applied_migrations = recorder.applied_migrations() 文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/db/migrations/recorder.py”,第 59 行,在应用迁移 self.ensure_schema() 文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/db/migrations/recorder.py”,第 52 行,在 ensure_schema 使用 self.connection.schema_editor() 作为编辑器: 文件“hct/.local/lib/python3.4/site-packages/Django-1.8.3-py3.4.egg/django/db/backends/base/base.py”,第 503 行,在 schema_editor '这个数据库包装器的 SchemaEditorClass 属性仍然是 None') NotImplementedError: 这个数据库包装器的 SchemaEditorClass 属性仍然是 None

我在 settings.py 中做了以下更改 -

在已安装的应用中添加

'djangotoolbox',

settings.py 中的数据库配置 -

DATABASES = {
'default': {
    'ENGINE': 'django_mongodb_engine',
    'NAME': 'dbname',
    'HOST': 'dbhost',
    'USER': 'dbuser',
    'PASSWORD': 'dbpw'
}

}

我在 site-packages 中安装了以下 3 个 mongodb 包

如果以下情况相关,

  • 我的 models.py 尚未完全填充。
  • 如果我运行django-admin runserver --settings = myproject.settings,它会引发

ImportError: 没有名为“myproject”的模块

项目文件夹如下-

我的项目

  • 我的项目

    • settings.py
    • wsgi.py
  • 我的应用程序

    manage.py

我不确定是否需要从https://github.com/django-nonrel 安装任何其他软件包(除了 mongodb-engine-master)

【问题讨论】:

  • 这可能会完全解决问题,或者至少可以让您通过 ImportError ...您的 myproject/myproject 中应该有一个名为 init.py 的空文件目录。 (还有……如果你做 python3 manage.py shell 会得到什么(理论上它的活动部件比 runserver 少)
  • 它有一个 init.py 文件(我在问题中省略了它)。 python3 manage.py shell 运行没有任何问题。

标签: django django-mongodb-engine


【解决方案1】:

已解决。从https://github.com/django-nonrel/django卸载django并安装django-nonrel。

【讨论】:

    【解决方案2】:

    我收到此错误是因为我不在虚拟环境中。以防万一有人遇到类似的错误,

    转到 virtualenv 并重试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多