首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让django-simple-history与Tastypie一起工作?

如何让django-simple-history与Tastypie一起工作?
EN

Stack Overflow用户
提问于 2013-01-29 21:40:43
回答 1查看 486关注 0票数 5

我需要存储对对象所做更改的完整历史。我发现django-simple-history非常吸引人,但它不适用于django-tastypie。如果我使用PUT (更新对象)将数据发送到API,对象可以更新,但历史记录不会更新。如果我通过'./manage.py shell‘手动更改对象,一切都会正常工作。看起来像是tastypie绕过了信号之类的。

你知道我怎么才能让它按预期工作吗?

EN

回答 1

Stack Overflow用户

发布于 2013-02-18 05:10:13

在看不到你的代码的情况下,我将尝试解析地解决这个问题。

看一下django-simple-history,似乎该项目确实在post_save/post_delete信号上创建了历史对象,并使用一个自定义的model.Manager子类提供对它们的访问。

在我看来,TastyPie保存的资源是一个ModelResource,而不是您的实际模型实例。这个代理模型知道orm,并在其上执行所有查询。

所以我认为在simple_history/models.py中发生的事情是contribute_to_class方法声明了models.signals.class_prepared.connect(self.finalize, sender=cls),但是这个信号从来不会触发,因为TastyPie不会初始化模型的实例……

这看起来很奇怪,我不明白为什么TastyPie会这么做,或者我可能误解了什么?为什么你不尝试在github库中打开一个问题呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14584329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档