Если предположить следующую структуру класса в Джанго:Создать новый производный объект из существующего базового объекта (не получено)
class Base(models.Model)
class Derived(Base)
И этот базовый объект (, который только Base, не производной)
b = Base()
b.save()
Я хотел бы создать производный объект из b. Какой был бы правильный способ сделать это? Я пробовал:
d = Derived(b)
d = Derived(base_ptr=b)
Благодарности
Примечание: Я думаю, это другой вопрос, чем как то, что мне нужно «Как перейти от модели базы для производного класса в Django?» для создания нового производного объекта из существующего базового (и только базового) объекта. В этом вопросе он проверяет, существует ли уже производный класс и затем возвращает его. В моем случае производный объект не существует.
HTTPS: //docs.djangoproject.com/en/1.10/topics/db/models/#abstract-base-classes? –
Мой базовый класс не абстрактный. Это наследование нескольких таблиц. После создания базового объекта мне нужно преобразовать его в производный класс, это на уровне БД, чтобы иметь запись в производной таблице, связанную с базовой таблицей. – klautern
Я нашел связанный с этим вопрос http://stackoverflow.com/questions/9821935/django-model-inheritance-create-a-subclass-using-existing-super-class – klautern