我的应用程序使用“每用户会话”来允许来自同一用户的多个会话共享状态。它通过酸洗对象的操作与 django 会话非常相似。
我需要腌制一个引用 django 模型对象的复杂对象。标准酸洗过程将非规范化对象存储在泡菜中。因此,如果数据库中的对象在酸洗和解酸之间发生变化,则模型现在已经过时了。(我知道内存中的对象也是如此,但酸洗是解决它的方便时间。)
显然,将这个复杂的数据存储在数据库中会更干净,但这并不实用。随着项目的发展,它的代码必然会迅速变化。每次对象的数据模型更改时都必须更新数据库模式会大大降低项目的速度。
所以我想要的是一种不腌制完整 django 模型对象的方法。相反,只需存储其类和 id,并在加载时从数据库中重新获取内容。我可以为这个类指定一个自定义泡菜方法吗?如果有办法进行酸洗,我很高兴围绕 django 模型编写一个包装类来处理从 db 中的延迟获取。