Django Polymorphic - Перенос модели, которая расширяется от модели, которая расширяется от PolymorphicModel

У меня сейчас такая ситуация :

Предположим, у меня есть 2 модели, которые расширяют django Models, назовите их Post и Question

Выглядит это следующим образом

class Post(models.Model):
  ...

class Question(models.Model):
  ...

У этих двух моделей уже есть своя таблица в базе данных и, возможно, какая-то другая модель связана с ними через внешний ключ.

Теперь предположим, что я хочу сделать другую модель, которая расширяет PolymorphicModel из django-polymorphic, назовем ее Commentable

Итак, это выглядит следующим образом

class Commentable(PolymorphicModel):
  ...

А две существующие модели хотят расширить эти новые классы, как

class Question(Commentable):
  ...

class Post(Commentable):
  ...

Теперь мой вопрос в том, как можно перенести все существующие данные, включая их связанные модели из существующих Question и Post, чтобы их можно было перенести и сохранить их целостность?

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

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