【发布时间】:2012-10-23 06:01:59
【问题描述】:
我正在使用带有 mongodb 后端的 Django 非 rel 版本。我有兴趣跟踪模型实例上发生的更改,例如,如果有人创建/编辑或删除模型实例。后端数据库是 mongo,因此模型在各自的集合/数据库中具有关联的“_id”字段。
现在我想提取发生此 modif 操作的“_id”字段。我们的想法是将此“_id”字段写入另一个数据库,以便有人可以从那里获取它并知道更新了哪个对象。
我考虑过重写 Django "models.Model" 中的 save() 方法,因为我所有的模型都是从中派生的。然而,mongo“_id”字段显然不存在,因为 mongo-insert 尚未发生。
在保存操作发生在 mongo 之后,是否有可能调用伪 post-save() 方法? django/django-toolbox/pymongo可以提供这样的组合吗?
【问题讨论】:
-
那么,您是要跟踪对象的更改还是只跟踪对象保存时的时间戳?
-
我想跟踪修改后的对象的对象ID“_id”。这样我就可以将它发送到其他进程等,以便它知道更新了什么。没有任何特定于时间戳的东西。我的其他进程可以自行更新
标签: python django mongodb django-models django-nonrel