Циклическая ошибка зависимости при выполнении миграций в Django 1.7c2

Я читал о миграции django по адресу https://docs.djangoproject.com/en/1.7/topics/migrations. /. Я также просмотрел коммиты на ветке 1.7.x в github, где я понимаю, что эта проблема, возможно, была решена. К сожалению, я все еще получаю сообщение об ошибке при выполнении миграции. Опция --fake дает ту же ошибку.

У меня есть следующие миграции:

миграция приложения «люди»:

user@host$ /manage.py makemigrations people
Migrations for 'people':
0001_initial.py:
- Create model Person
- Create model Committee
- Create model DepartmentGroup
- Add field department_group to person
- Create model MemberType
- Add field member_type to person
- Alter unique_together for person (1 constraint(s))
- Create model PersonCommittee
- Add field committees to committee
- Add field committee to personcommittee
- Add field member to personcommittee
- Alter unique_together for personcommittee (1 constraint(s))
- Create model Role
- Create proxy model PersonArchive

Миграция приложения "местоположения":

user@host$ ./manage.py makemigrations locations
Migrations for 'locations':
0001_initial.py:
- Create model Building
- Create model Institution
- Create model InstitutionAddress
- Add field institution to building
- Add field address to institutionaddress
- Add field institution to institutionaddress
- Create model Room
- Alter unique_together for room (1 constraint(s))

Теперь я запускаю миграции с помощью

./manage.py migrate

и это ошибка, которую я получаю

django.db.migrations.graph.CircularDependencyError: 
[('people', u'0001_initial'), ('locations', u'0001_initial'), 
('people', u'0001_initial')]

Полный текст ошибки можно просмотреть по адресу: http://pastebin.com/jixK6Ve2.

Мой вопрос заключается в том, что в коде django все еще есть что-то, что нужно исправить, см. исправленный билет: https://code.djangoproject.com/ticket/22932. Если нет, есть ли возможность разделить миграцию на 2 или более шагов, чтобы избежать ошибки циклической зависимости?


person jcuot    schedule 13.08.2014    source источник


Ответы (1)


Шаги, указанные пользователем humitos из https://code.djangoproject.com/ticket/22932#comment:4 кажется, проблема решена.

В основном мне нужно было удалить заменяемую зависимость и конфликтующую модель и поместить их в новую пустую миграцию.

person jcuot    schedule 14.08.2014
comment
Для какого приложения вам нужно было удалить заменяемую зависимость и конфликтующую модель, а затем поместить их в новую пустую миграцию? Как вы определили, какое приложение имеет конфликтующую модель? - person teewuane; 20.07.2015
comment
Сообщение об ошибке, которое вы получаете при запуске команды migrate, подробно объясняет источник конфликтующей модели. - person jcuot; 21.07.2015