backend下目录结构

tree backend              
backend
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── signals.py
├── urls.py
└── views.py

__init__.py

default_app_config = 'backend.apps.BackendConfig'

apps.py

from django.apps import AppConfig


class BackendConfig(AppConfig):
    default_auto_field = "django.db.models.BigAutoField"
    name = "backend"

    def ready(self):
        import backend.signals

signals.py

import os

from django.db.models.signals import pre_save, post_save
from backend.models import *
from django.core.cache import cache


@receiver(pre_save, sender=Article)
def article_pre_save(sender, instance, **kwargs):
    if instance.pk:
        cache.delete(f'article_{instance.id}')

标签: django, signals

添加新评论