繁体   English   中英

Django-Nonrel(mongo-backend):模型实例修改跟踪

[英]Django-Nonrel(mongo-backend):Model instance modification tracking

我在mongodb后端使用Django非相关版本。 我对跟踪模型实例上发生的更改感兴趣,例如,如果有人创建/编辑或删除模型实例。 后端db是mongo,因此模型在各自的collections / dbs中具有与之关联的“ _id”字段。

现在,我想提取此修改操作发生的“ _id”字段。 想法是将此“ _id”字段写入另一个数据库,以便有人可以从那里拾取它并知道更新了哪个对象。

我考虑过从 Django “ models.Model”覆盖save()方法,因为我所有的模型都是从那派生的。 但是,由于mongo插入尚未发生,因此mongo“ _id”字段显然不存在。

将操作保存到mongo后,是否有可能调用伪post-save()方法? django / django-toolbox / pymongo可以提供这样的组合吗?

在深入研究Django模型后,我得以解决该问题。 save()方法反过来调用save_base()方法。 此方法将返回的结果(在mongo情况下为id)保存到self.id中 然后,可以通过遍历模型的save()方法来选择此_id字段

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM