【发布时间】:2012-08-27 21:42:44
【问题描述】:
我执行了initial installation 步骤并创建了初始修订,但是当我在 django shell 中保存模型时,没有创建新修订:
In [1]: s = Shop.objects.all()[0]
In [2]: import reversion
In [3]: s.name = 'a'
In [4]: s.save()
In [5]: s.name = 'b'
In [6]: s.save()
In [7]: reversion.get_for_object(s)
Out[7]: [<Version: <1> "X">]
这是最初的修订版。
当我从视图更新模型时,会成功创建修订版。
我错过了什么?
models.py 文件是:
...
class Shop(Model):
...
import reversion
reversion.register(Shop)
<EOF>
我在post_save 接收器中看到了一个反转方法,虽然我调试它时没有调用它。
我有 Django v1.4.1,reversion v1.6.2。
【问题讨论】:
-
This thread 阐明了这个问题。您在哪里注册带有修订的模型?
-
您能否尝试将
import reversion; reversion.register(Shop)行放在您定义models.py文件的底部Shop,看看是否能解决问题? -
@DavidRobinson:它已经在那里了,就在底部。并且修订仅保存在视图中。
标签: django django-models django-reversion