Как перемещать данные по таблицам с помощью Django? - PullRequest
0 голосов
/ 05 августа 2011

Скажем, у меня есть три таблицы A, B и C. A - это активная таблица, B имеет отношение one2one с A, а C - это архивная таблица для хранения старых данных A.Итак, в django я хочу переместить часть данных из A в C, сохраняя при этом отношение one2one с B.

Так как я могу это сделать?

Должен ли я просто скопироватьданные в C, удалить данные в A?Как я могу поддерживать связь с данными с B?Это сделано с one2one с C и B?Означает ли это, что мне придется вводить столбцы в B?И если я удаляю из A, удаляет ли каскад Django в B?

Или существует совершенно другой способ перемещения данных из таблицы в таблицу?

1 Ответ

1 голос
/ 05 августа 2011

Предполагая, что A, B, C - 3 модели, объявленные в вашем приложении, вы можете просто сделать так, чтобы A и C имели похожие поля, а затем скопировать данные из A в C, включая поле fkey, в B.

Когда вы вызываете delete в Django, он эмулирует ограничение SQL ON DELETE CASCADE, подробнее см. https://docs.djangoproject.com/en/1.3/ref/models/querysets/#delete.

...