У меня проблемы с загрузкой фикстур Django в мою базу данных MySQL из-за конфликтов типов содержимого. Сначала я попытался сбросить данные только из моего приложения следующим образом:
./manage.py dumpdata escola > fixture.json
но у меня постоянно возникали проблемы с отсутствием внешнего ключа, потому что мое приложение "escola" использует таблицы из других приложений. Я продолжал добавлять дополнительные приложения, пока не добрался до этого:
./manage.py dumpdata contenttypes auth escola > fixture.json
Теперь проблема заключается в следующем нарушении ограничения, когда я пытаюсь загрузить данные как тестовое приспособление:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Кажется, проблема в том, что Django пытается динамически воссоздать типы контента с разными значениями первичного ключа, которые конфликтуют со значениями первичного ключа из фикстуры. Это похоже на ошибку, описанную здесь: http://code.djangoproject.com/ticket/7052
Проблема в том, что рекомендуемый обходной путь - сбросить приложение contenttypes, которое я уже делаю !? Что дает? Если это имеет значение, у меня есть некоторые разрешения для пользовательской модели, как описано здесь: http://docs.djangoproject.com/en/dev/ref/models/options/#permissions
-e contenttypes -e auth.permission
с--natural
? Я просто попробовал без--natural
опции, и это сработало. Также в документации здесь говорится, что следует использовать эту опцию, если DUMPINGauth.permission
иcontenttypes
.