Концептуально я думаю, что это может быть.Вы можете узнать больше об этом в django docs , но по сути Django имеет 3 типа наследования; abstract, multitable и proxy , которые полезны в различных ситуациях:
- abstract наследование полезно, когда ваш базовый класс никогда не нуждается в создании самого экземпляра (то есть базовая модель не имееттаблица, но у всех детей есть таблицы)
- наследуемое наследование полезно, когда у вас есть базовая модель, которая полезна сама по себе, но может быть расширена (т. е. у базовой модели есть таблица, а у всех ее детей есть таблицы)
- прокси полезен, когда вы хотите расширить только функциональность родительской модели (т. Е. У базовой модели есть таблица, но у дочерних элементов нет таблиц)
и краткий пример (multi table):
class Answer(models.Model):
answer_text = models.CharField(...)
class Question(models.Model):
"""What all questions have in common"""
title = models.CharField(...)
text = models.CharField(...)
answer = models.ForeignKey(Answer)
class PythonQuestion(Question):
"""What specifics a python question might have"""
python_version = models.CharField(...)
Вы можете ввести все данные за один раз в администраторе django (это одинаково как для множественного, так и для абстрактного наследования).Кроме того, у вас есть ответ на каждый вопрос.Эти ответы могут быть загружены через фикстуры, если это необходимо (или вручную введены через администратора)