django-reversion 如何获取用户ID
我在使用django-reversion这个工具来为模型提供历史记录。 我发现reversion会创建两个表,一个叫'reversion_revision',另一个叫'reversion_version'。 在'reversion_revision'表里,存储了最后修改的用户ID。 但是我无法获取到这个信息。我使用'reversion.get_for_object(Model)'这个函数来获取某个模型的所有版本,但这个函数只返回'reversion_version'表里的信息,而我需要的是'reversion_revision'表里的用户ID。 有没有人知道我该怎么做才能获取到用户ID呢?
1 个回答
6
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