Django 如何知道数据库更改的位置

Django 如何知道数据库更改的位置,django,django-database,Django,Django Database,我有一个项目,看起来像一个简单的购物网站,销售不同种类的产品。例如,我有4种型号:品牌,产品,寄售寄售链接到产品,产品链接到品牌。为了减少对数据库的查询数量,我想保存这些模型(或至少其中一些模型)的当前状态。我想这样做,因为我展示了一个带有品牌和产品的侧边栏。因此,每当用户打开某个页面时,它都会执行对数据库的查询,以获取这些品牌和产品。 但是当admin添加一些新产品或品牌时,我想处理数据库更改并重新保存它。如何实现它?您的答案是使用缓存。缓存是一种将对象临时存储在内存或redis等其他应用程序

我有一个项目,看起来像一个简单的购物网站,销售不同种类的产品。例如,我有4种型号:
品牌
产品
寄售
<代码>寄售链接到
产品
产品
链接到
品牌
。为了减少对数据库的查询数量,我想保存这些模型(或至少其中一些模型)的当前状态。我想这样做,因为我展示了一个带有品牌和产品的侧边栏。因此,每当用户打开某个页面时,它都会执行对数据库的查询,以获取这些品牌和产品。
但是当
admin
添加一些新产品或品牌时,我想处理数据库更改并重新保存它。如何实现它?

您的答案是使用缓存。缓存是一种将对象临时存储在内存或redis等其他应用程序中的方法,这样您就不需要向数据库发送查询。你可以阅读完整的描述

或者,你可以用这里的例子

Brand.objects.filter(name='stackoverlow').cache()
更新模型后,需要
清除
使缓存无效

invalidate_model(Brand)

请详细说明,您可以使用post_save和pre_save信号,它们将在每次更改某些内容时命中