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