django-reversion как получить идентификатор пользователя

#python #django #reversion #django-reversion

#python #django #возврат #django-reversion

Вопрос:

Я использую django-reversion для предоставления истории для моделей. Я обнаружил, что reversion создает две таблицы, таблицу ‘reversion_revision’ и ‘reversion_version’, А в reversion_revision хранится идентификатор пользователя, который вносит последние изменения. Но я не могу получить эту информацию. Я использую функцию ‘reversion.get_for_object (модель)’, чтобы получить все версии определенной модели, но функция возвращает мне только информацию, которая хранится в таблице ‘reversion_version’, и мне нужно получить идентификатор пользователя из таблицы reversion_revision Someone теперь, как мне получить идентификатор пользователя?

Ответ №1:

revision включен ли внешний ключ Version . И, reversion.get_for_object(Model) просто возвращает набор запросов Version s. Итак, для любого элемента в этом наборе запросов вы можете просто получить доступ к пользователю как так:

 version.revision.user
  

ОБНОВЛЕНИЕ: Просто чтобы быть более явным:

 versions = reversion.get_for_object(MyModel)

for version in versions:
    print '%s made this revision' % version.revision.user.username
  

Комментарии:

1. хорошо, я экспериментировал с версией «version.reversion.get_for_object (модель)», но это выдает мне ошибку, не удается импортировать версию