Ошибка Django 1.8: не указан фиксатор базы данных
Я использовал 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',
}
}
Но когда я пытаюсь загрузить данные в новый 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.
Не могу понять, в чем ошибка. У меня уже есть данные в моем sqlite
база данных, поэтому мне нужны новые данные в postgresql
База данных тоже.
2 ответа
Можете ли вы показать, как вы сделали дамп данных? Если вы посмотрите на dumpdata
документы, вы увидите, что это:
Выводит на стандартный вывод все данные в базе данных, связанные с именованным приложением (ями).
А также:
По умолчанию,
dumpdata
отформатирует вывод в формате JSON
Теперь, если вы посмотрите на свою ошибку, вы увидите, что вам не хватает базы данных. loaddata
docs рассказывает, что такое прибор и где Django будет искать приборы:
Фиксатор - это набор файлов, которые содержат сериализованное содержимое базы данных. Каждое устройство имеет уникальное имя, и файлы, которые составляют устройство, могут быть распределены по нескольким каталогам в нескольких приложениях.
Джанго будет искать в трех местах:
- в
fixtures
каталог каждого установленного приложения- В любом каталоге, указанном в
FIXTURE_DIRS
установка- В буквальном пути, названном приспособлением
Итак, файл, в который вы сохраняете свои данные, может быть использован:
./manage.py dumpdata ... > mydata.json
./manage.py loaddata mydata.json
Вы должны сказать loaddata
какой файл загрузить, если его нет в приложении fixtures
каталог:
python manage.py loaddata file/path/of/dumbdata.json
Либо вы перемещаете свои сброшенные данные в fixtures
каталог приложения или указать файл вручную, как я уже говорил выше. Читать ходить loaddata
Команда здесь.