我希望我的Django应用程序中的一些代码只能在启动服务器时执行一次,而不是按照请求执行。
具体来说,我想将一些数据库表加载到内存中。这些表包含一些不会根据请求更改的“元数据”。像这样:
ProductTypesData = None;
def loadProductTypesData():
productTypes = ProductType.objects.all();
for ptype in productTypes:
ptype_data = {
"id":ptype.id,
"name": ptype.name,
"description":ptype.desc
};
ProductTypesData.append(ptype_data);
loadProductTypesData();
我应该把这段代码放在哪里? 关于django初始化的其他Q / A建议把它放在urls.py中。但是在urls.py中导入模型对我来说似乎不合逻辑。
我可以将代码放在models.py中吗?它是否只执行一次(如果可以接受不在django启动时执行)?