«Не найдено ни одного фиксатора» во время syncdb / schemamigration с initial_data.yaml [Django 1.3] - PullRequest
2 голосов
/ 05 мая 2011

У меня настроено несколько приложений, в одно из которых я только что добавил прибор. Я создал файл «initial_data.yaml» в подкаталоге «fixtures» в папке приложения, поэтому полный путь - project_dir\apps\job\fixtures\initial_data.yaml.

Я пробовал оба

python manage.py syncdb

и

python manage.py schemamigration job --auto

и они оба дают мне:

Приспособления не найдены.

Что я тут не так делаю?

Ответы [ 4 ]

2 голосов
/ 24 мая 2011

Вы устанавливаете pyYAML?

http://pyyaml.org/wiki/PyYAML

manage.py нужен yaml-парсер для загрузки initial_data.yaml.

1 голос
/ 21 мая 2012

Документация Django четко гласит:

По умолчанию Django ищет приборы в каталоге fixtures внутри каждого приложения.

Но я обнаружил, что это не соответствует действительности .Если вы не определили FIXTURE_DIRS в settings.py, тогда django будет искать initial_data.yaml в том же каталоге, где находятся manage.py и settings.py.У меня была эта проблема с django 1.3.1.

Вам также нужно установить анализатор python yaml, иначе django будет игнорировать приборы в формате yaml.Если вы используете Ubuntu, вы можете установить парсер, введя в консоли следующую команду:

sudo apt-get install python-yaml
0 голосов
/ 05 мая 2011

Попробуйте следующее и посмотрите, как вы идете:

Сбросьте существующие данные, очистите вашу БД и попробуйте снова syncdb (если вы счастливы очистить вашу БД):

python manage.py dumpdata
python manage.py syncdb

Это работает? Если это так, у вас есть файл «blueprint».

Если нет, не могли бы вы сообщить нам, какую версию Django вы используете?

0 голосов
/ 05 мая 2011

я думаю, что нужно войти в

/project/job/fixtures/

, если ваше приложение называется job

...