2016-08-26 4 views
0

У меня есть модель, используемая в ManyToManyField, которую я хочу изменить.Миграции на сквозной модели Django Many to Manyo Field

  • Пользователь
  • Учитель

    - ManytoManyField through TeacherRelation 
    
  • TeacherRelation

  • NewModel

Я хочу, чтобы изменить внешний ключ TeacherRelation поэтому он использует NewModel вместо T учитель. У меня уже есть данные, которые я не хочу потерять на db, поэтому я хотел бы знать, что лучший способ сделать такие миграции. Я обеспокоен такими вопросами, как:

  • Должен ли я удалять предыдущие записи на db, которые использовали другой внешний ключ?

  • Есть ли способ найти все предыдущие записи и заменить их на правильный новый первичный ключ? Я думаю, что мне придется написать сценарий для этого ... Но где и когда я должен разместить его и запустить?

Спасибо за помощь.

ответ

0

Вы можете вручную дублировать таблицу. Если вы используете postgres, вы можете использовать PGadmin III или консоль. для sqlite вы можете отправить базовые SQL-команды для дублирования Teacher.

После Дублирование учителя, просто изменить оригинальный учитель имя таблицы «NewModel» и построить его, как вы хотите :)

Самый простой вариант ИМО.

Смежные вопросы