Миграция модели Django со стандартной модели на многотабличную унаследованную модель с FK-отношениями

У меня есть задача перевести некоторые существующие модели в многотабличные наследуемые модели (сделать их подклассом существующего родителя). Я тестирую свой код на локальной машине, и мне удалось обеспечить многотабличное наследование без ошибок. Однако некоторые модели связаны ForeignKeys с другими моделями, и мне интересно, как управлять такими отношениями, чтобы избежать потери данных.

Пример:

class Member(models.Model):
    pass

class Person_A(models.Model):
    member_ptr = OneToOneField(parent_link=True)

class Person_B(models.Model):
    member_ptr = OneToOneField(parent_link=True)

class Group(models.Model):
    person_a = models.ForeingKey(Person_A)
    person_b = models.ForeignKey(Person_B)

Итак, Person_A и Person_B находятся на пути к наследованию от Member. Все экземпляры Member созданы и данные заполнены. Остался последний шаг - удалить поле _ptr, заменив models.Model на Member, что приведет к исчезновению поля id, и связь ForeignKey будет разорвана.

Есть ли простой способ управлять этим переносом ForeignKey без потери данных? У меня есть несколько странных идей о дублировании полей и т.д., но я надеюсь, что есть какой-то более удобный способ.

Вернуться на верх