Django 1.8错误:未指定数据库装置

Wut*_*Wut 0 python django postgresql django-database

我使用的是sqlite数据库,应用后python manage.py dumpdata我在中添加了新的postgresql数据库设置settings.py

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'music',                      
    'USER': '**',
    'PASSWORD': '****',
    'HOST': '127.0.0.1',
    'PORT': '5432',
    }
  }
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将数据加载到新postgresql数据库中时,出现以下错误

C:\Users\Saket\musicalguru>python manage.py loaddata
usage: manage.py loaddata [-h] [--version] [-v {0,1,2,3}]
                      [--settings SETTINGS] [--pythonpath PYTHONPATH]
                      [--traceback] [--no-color] [--database DATABASE]
                      [--app APP_LABEL] [--ignorenonexistent]
                      fixture [fixture ...]
manage.py loaddata: error: No database fixture specified. Please provide the  path of at least one fixture in the command line.
Run Code Online (Sandbox Code Playgroud)

无法理解错误是什么。我的sqlite数据库中已经有数据,所以我也需要数据库中的新数据postgresql

Mik*_*ton 5

您能说明如何进行数据转储吗?如果您查看dumpdatadocs,将会看到:

将与命名应用程序关联的数据库中的所有数据输出到标准输出。

和:

默认情况下,dumpdata将其输出格式为JSON

现在,如果您查看错误,就会发现缺少数据库固定装置。这些loaddata文档告诉了什么是夹具以及Django将在哪里寻找夹具:

固定装置是包含数据库的序列化内容的文件的集合。每个固定装置都有唯一的名称,组成固定装置的文件可以分布在多个应用程序的多个目录中。

Django将在三个位置搜索固定装置:

  1. fixtures每个已安装应用程序的目录中
  2. FIXTURE_DIRS设置中命名的任何目录中
  3. 在灯具指定的文字路径中

因此,可以使用将数据转储到的文件:

./manage.py dumpdata ... > mydata.json
./manage.py loaddata mydata.json
Run Code Online (Sandbox Code Playgroud)