将记忆与导入一起使用,以避免在数据库中查询不经常更改的变量



在django中为一个应用程序,我有以下结构:

app_name
 - const.py
 - models.py
 - forms.py
 - views.py

const.py中,我保留常数,我在其他3个文件中 import

我有一些通常从数据库中获得的variables(使用QuerySet),但是此变量不经常变化(月份)。

我想将此变量添加为const中的常数,并且仅在更改时更新此变量值(从admin)。

我想这样做,每次在 models/forms/views中每次都称为1-3个问题。

如果我将它们添加到const中,则在const.py的每个import上执行数据库QuerySets,因此在这种情况下,我只是将它们移动到views/models/formsconst

因此,我需要一种回忆,可以是交叉文件/模块。

我知道如何进行基本的回忆,但仅在模块内工作。

第一个基本答案:

您可以让 - const.py在项目本身上并轻松导入

project_name
 app_name
 - models.py
 - forms.py
 - views.py
- const.py

更复杂的答案:

添加模型Constant并在REDIS处使用ID,并用最长的CACHING

缓存此表

,由于许多原因,我不希望有任何文件

  1. 基于Env的区别。
  2. 开发人员访问某个级别的权限。
  3. 无需增加可能完全不需要的文件。

有关使用REDIS缓存的更多信息,请在Real Python

最新更新