django-simple-history track Пользователь из оболочки Python - PullRequest
0 голосов
/ 07 октября 2019

Мы используем django-simple-history, чтобы отслеживать изменения в наших моделях. Все модели имеют поле history = HistoricalRecords(). При внесении изменений в модель из оболочки Python эти изменения отслеживаются, однако поле changed_by сохраняется как None. Когда в admin вносятся изменения, промежуточное программное обеспечение simple_history получает экземпляр User от того, кто вошел в систему. Очевидно, что в оболочке этого нет. Есть ли способ вручную внедрить экземпляр User, основанный на существующем объекте Account?

К сожалению, я не могу изменить ни одну из этих моделей, поэтому я не могу добавить ни один из методов получения и установки пользователей истории. к нашим моделям (руководитель проекта очень строг в отношении рефакторинга, и у нас также есть много моделей)

1 Ответ

0 голосов
/ 07 октября 2019

Как показано в документах , для определенного объекта с историей, называемой ObjectWithHistory, вы можете установить пользователя истории на объект перед сохранением следующим образом:

o = ObjectWithHistory(*kwargs)
o._history_user = this_user
o.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...