как скопировать объект, используя наследование нескольких таблиц в django

Я пытаюсь скопировать объект, который расширяет другой объект посредством наследования нескольких таблиц.

Родитель — это группа, а дочерний — это местоположение.

Проблема в том, что родительский объект изменяется вместо создания нового родительского и дочернего объектов.

Вот что я делаю:

location = get_object_or_404(Location, pk=pk)

        location.pk = None
        location.name = location.name+' - child object'
        location.save()

Вместо создания нового местоположения и строки группы в соответствующих таблицах это обновляет таблицу группы, чтобы иметь имя = имя + '- дочерний объект'.

как я могу заставить этот процесс создать новое местоположение и строку группы вместо обновления строки группы?

Спасибо!


person Atma    schedule 18.10.2013    source источник


Ответы (1)


Ключевым моментом здесь является то, что наследование нескольких таблиц в Django реализовано с использованием внешних ключей, поэтому объект, который «наследует» другую модель, просто привязан к этой другой модели с помощью внешнего ключа. Вам нужно продублировать оба.

Чтобы узнать, как это сделать, ознакомьтесь с решением в этом ответе.

person Christian Ternus    schedule 18.10.2013