Я хочу получить производный экземпляр класса модели из экземпляра базовой модели.
У меня есть следующая иерархия классов моделей:
class AlfrescoPFCModel(models.Model):
#some fields and methods
class Meta:
abstract = True
class Contenido(AlfrescoPFCModel):
#some fields and methods
class Proyecto(Contenido):
#some fields and methods
class ProyectoCalificado(Proyecto):
#some fields and methods
class ProyectoArchivado(ProyectoCalificado):
#some fields and methods
И я создаю экземпляр класса Proyecto следующим образом:
proyecto = proyecto_form.save(commit=False)
#do some stuff with some fields that dont appear on the form
proyecto.save
В другом представлении я пытаюсь получить доступ к производному классу ProyectoCalificado из базового класса Proyecto, который ранее был создан и сохранен в базе данных, выполнив:
pc = ProyectoCalificado.objects.get(pk=id)
и я получаю: Соответствующий запрос ProyectoCalificado не существует.
Я тоже пробовал:
p = get_object_or_404(Proyecto, id=id)
pc = p.proyectocalificado
но он получает ту же ошибку во второй строке.
Читая документацию, я должен иметь возможность сделать это:
# мульти-стол наследование
То, что я хочу сделать, это постепенно завершать данные, связанные с Proyecto (проектом), следуя этому рабочему процессу: Proyecto -> ProyectoCalificado -> ProyectoArchivado.
У меня есть 3 разные формы для каждого шага. Мне нужны 3 разные модели, потому что мне нужно сохранить их в базе данных, не заполняя сразу все обязательные поля.
Спасибо!