django-reversion как получить идентификатор пользователя - PullRequest
3 голосов
/ 07 ноября 2011

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

1 Ответ

5 голосов
/ 07 ноября 2011

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

version.revision.user

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

versions = reversion.get_for_object(MyModel)

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