Недавно я столкнулся с проблемой при импорте более старых данных, чем моя нынешняя модель. Поток, который я использую и приводя к ошибке:
- dumpdata с python manage.py dumpdata → 0002
- внести некоторые изменения в модель
- создать миграцию с помощью python manage.py schemamigration app_name --auto → 0003
- выполнить миграцию
- играть с базой данных
- перейти на 0002
- loaddata генерирует SQL, в котором у меня есть текущие (миграция 0003) поля, и вызывают сбои процесса loaddata (добавлено поле mpoly)
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/postgresql_psycopg2/base.py",
строка 44, в исполнении return self.cursor.execute(query, args) DatabaseError: столбец "mpoly" отношения "localization_province" делает не существует LINE 1:... e "(" id "," name "," slug "," mpoly ") V...
- комментируя изменения в models.py, сделанные до 0003, заставьте все работать нормально
Есть ли способ избежать игры с моделями после обратной миграции, если я хочу загрузить данные?
Может, мне не хватает чего-то действительно очевидного...
PS: Я использую South 7.3, Django 1.2.3 и PostgreSQL 8.4 в качестве базы данных.