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

时间:2015-05-07 16:26:56

标签: django django-database

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

1 个答案:

答案 0 :(得分:0)

您的答案是使用缓存。缓存是一种将对象临时存储在内存/其他应用程序(如redis)中的方法,因此您无需向数据库发送查询。您可以阅读完整说明here

或者,您可以使用此third party library that helps you to cache Django ORM Model.以下是示例。

Brand.objects.filter(name='stackoverlow').cache()

在对模型进行更新后,您需要clearinvalidate缓存。

invalidate_model(Brand)