Django South: как я могу получить доступ к моделям в подпакетах при миграции

Поскольку наше приложение имеет множество моделей, мы размещаем их в models.Cheddar пакетов моделей, то есть модель models.Cheddar не будет в models.Cheddar , а вместо этого в models.cheese.Cheddar .

Похоже, что я не могу получить доступ к этим моделям в южной эмиграции данных, хотя я создал models/__init__.py в соответствии с этим ответом, содержащим строку from cheese import * .

В моем файле миграции данных строка for cheddar in orm.Cheddar.objects.all(): прежнему вызывает следующую ошибку:

 AttributeError: The model 'Cheddar' from the app 'core' is not available in this migration. (Did you use orm.ModelName, not orm['app.ModelName']?) 

Попытка использовать orm['core.models.cheese.Cheddar'] вместо этого вызывает эту ошибку:

 KeyError: "The model 'cheddar' from the app 'core' is not available in this migration." 

Кто-нибудь знает, как обойти эту проблему?

One Solution collect form web for “Django South: как я могу получить доступ к моделям в подпакетах при миграции”

Оказывается, проблема заключалась в том, что модель DataMigration не была указана в DataMigration models экземпляров DataMigration :

 class Migration(DataMigration): # ... models = { # ... } 

Как только я добавил правильное определение модели там (которое было в предыдущей миграции для меня), миграция данных работала.

  • Изменение столбца модели Django по умолчанию с использованием юга
  • Самый простой способ переименовать модель с помощью Django / South?
  • django юг ошибка миграции отношение "photo_photo" уже существует
  • Django & South: добавление нового поля, но DatabaseError происходит, «таблица уже существует»
  • Может ли юг (для Django) вставить строки данных в базу данных?
  • как восстановить упавшую таблицу с django-south?
  • Изменение Южного миграционного справочника
  • Django - South - Есть ли способ просмотра SQL, который он запускает?
  • В вашей базе данных отсутствует южный модуль базы данных «south.db.postgresql_psycopg2»
  • Юг - Как заставить определенную миграцию?
  • Эффективная миграция данных на большой таблице django
  • Python - лучший язык программирования в мире.