这个错误很快就变得怪异了。在一个相当复杂的django项目中,我注意到无法恢复使用django-reversion注册的任何内容。显示的更改历史记录是准确的(更改内容的日期和评论符合实际情况),但访问对象/ history / rev_number 始终显示预先填写最新版本的表单。
我确认实际存储在数据库中的修订很好,在serialized_data字段中包含正确的数据,并且不相同。只有在渲染历史记录/修订版视图后,生成的HTML才会包含最新值。
然后我在这个项目中创建了一个新模型,进行了一些更改,尝试还原它们 - 出现了同样的错误。此新模型没有管理员自定义。此外,我删除了自定义模板目录,以确保没有任何非标准影响渲染。仍然存在错误。
最后,我创建了一个新的django项目,其中包含一个返回注册的模型,进行了一些更改并尝试了还原 - 该错误仍然出现。这是一个从头开始制作的项目,与主要项目没有任何共同之处。
绝望之下,我删除并重新构建了一个带有全新Python安装的virtualenv并安装了主项目的所有需求,并将主项目的所有依赖项添加到新项目的INSTALLED_APPS中。新项目的错误消失了。
看起来项目配置中的某些和virtualenv中的某些会影响这种情况,此时我无法弄清楚它是如何可能的。任何想法我在看什么,我怎样才能更好地调试情况?