#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 (модель)», но это выдает мне ошибку, не удается импортировать версию