У меня есть модель с полем внешнего ключа. Я хочу удалить ссылку на внешний ключ. Однако миграция не удается из-за следующей ошибки:Не удается перенести модели Django с ограничениями внешнего ключа
Cannot delete or update a parent row: a foreign key constraint fails
Я понимаю, что это происходит, но я не знаю, как решить эту проблему должным образом с Django. Прямо сейчас (так как я нахожусь в начале моего проекта), я вхожу в базу данных MySQL вручную и удаляю таблицы и перенаправляю, как если бы это была первая миграция.
Есть ли способ, используя Django, преодолеть эту проблему ограничения внешнего ключа?
Я использую Django 1.7
серверной базы данных является MySQL
EDIT - Модели До/После миграции
Перед:
class Skills(models.Model):
# fields here...
class Project(models.Model):
skills = models.ForeignKey(Skills, verbose_name = "Required Skills", blank = True, null = True)
После:
class Skill(models.Model):
# fields here...
class Project(models.Model):
skills = models.ForeignKey(Skill, verbose_name = "Required Skills", blank = True, null = True)
Я уверен, что все, что я сделал это снял «Множественные» от Skill
модели. Команда makemigrations
работает нормально, но команда migrate
не работает с указанной выше ошибкой.
EDIT 2
Хит ту же ошибку:
Cannot drop column 'skills_id': needed in a foreign key constraint 'projects_project_skills_id_4cc7e00883ac4de2_fk_projects_skill_id'
На этот раз я упал поле skill
от модели Project
Это ошибка, которую вы можете ожидать, когда вы удаляете или обновление строки; а не при изменении схемы базы данных. Можете ли вы разместить свои модели (до и после миграции)? – Selcuk