Django之Signals
文章目錄
在Django之cache的例子中,我们使用了缓存。但这里存在一个问题,当我们添加了数据后,因为缓存是有实效的,里面的数据没有更新。此时需要有一个机制,当我们更新的model的数据时,要清除缓存。Django提供的Signals可以满足这个需求。
在model保存和删除时,需要进行清除缓存。这里用到post_save和post_delete两个信号。
在area的models.py里添加如下代码
1 | @receiver(post_delete, sender=Area) |
之后在admin后台添加和删除数据时,缓存就会被清除。访问http://127.0.0.1:8000/area/api/city/list/1 时就可以读取到最新的数据
想自己尝试的可以下载test-django