在Django项目中从数据库加载不可变数据的位置?

时间:2013-05-28 05:47:47

标签: django django-models

我想知道从数据库加载一个应该在所有模型中都可用的不可变数据的正确位置是什么。

它基本上是一个数据库范围的设置(而不是项目设置),但应该与数据模型类似,并且也应该可以在其他模型中访问。

我在哪里放置/实现它?从我读过的文档来看,这个有点建筑问题并不十分清楚。

编辑: 设置: 我使用的是图形数据库,而不是关系数据库。有一个名为“current”的节点,它指向版本化数据的当前版本作为快捷方式。更新一个数据(节点)时,在调用.save()时,在相应节点的模型中删除与旧节点的关系并链接新节点。

只有一个“当前”节点指向包含最新日期和最新版本的每个节点。此节点本身是不可变的。它没有属性。它的关系由链接节点的模型管理。

因为它是一个单例(作为一个概念,不一定是Singleton类实现),每次查询它都会浪费DB资源,每次都会点击DB。

这是否澄清了这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

虽然不是确切问题的解决方案的确切实现,但该项目管理来自数据库的系统全局变量。它包含一个缓存实现,可以帮助您避免每次在项目中查询数据库。

https://github.com/andres-torres-marroquin/django-system-globals/blob/master/system_globals/models.py