Django - Помогите восстановить случайно удаленного пользователя - PullRequest
2 голосов
/ 04 января 2012

Скажем, я случайно удалил запись django.contrib.auth.models.User в django, где он каскадно удалил все затронутые строки.

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

Я предполагаю, что шаги будут:

  1. Загрузить резервную копию на отдельном компьютере
  2. Определить строки, затронутые каскадным удалением AuthПользователь
  3. Скопируйте эти строки из резервной копии на отдельном компьютере на уязвимый компьютер

Какие инструменты / сценарии можно использовать для шагов 2 и 3?Нужно ли писать свои или есть встроенные утилиты, которые могут помочь?

Ответы [ 2 ]

2 голосов
/ 04 января 2012

Приложение администратора использует функцию get_deleted_objects в django.contrib.admin.util для поиска связанных объектов.

В оболочке вы можете импортировать эту функцию. Однако, чтобы понять необходимые аргументы, потребуется немного работы. Может быть проще использовать веб-сайт администратора, как @gruszczy предлагает в своем ответе.

2 голосов
/ 04 января 2012

Восстановите базу данных и введите /admin/. Перейдите к модели User и попробуйте удалить того же пользователя. Администратор должен спросить вас, уверены ли вы, и отобразить информацию о том, какие другие объекты будут удалены из каскада. Это то, что вы можете легко и бесплатно получить в Джанго .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...