Как я могу отменить это (случайное) наследование таблиц в Django?
У меня есть библиотека приложений django в производстве, и я обнаружил серьезный недостаток.
Библиотека объявляет AbstractMyModel, от которой наследуется конкретная MyModel. Пользователи библиотеки могут установить приложение и использовать MyModel напрямую, или просто импортировать абстрактные модели, чтобы делать с ними что-то свое.
Проблема в том, что AbstractMyModel не абстрактен. Я забыл включить class Meta(), объявляющий abstract=True.
Итак, у меня в основном есть наследование таблицы в производстве:
class AbstractMyModel(models.Model):
"""Abstract model... EXCEPT IT'S NOT!!!"""
name = models.SlugField(
help_text="name",
unique=True,
)
class MyModel(AbstractMyModel):
"""ARGH - the abstract one isn't actually abstract
But I've got this in production - there are two actual tables from
AbstractMyModel and MyModel. How can I sort this mess out?"""
ВОПРОС: Как бы мне мигрировать из этого, чтобы разрушить наследование и в итоге получить таблицу MyModel как конкретную, а AbstractMyModel как действительно абстрактную?
ТИА!