django进行增删时候都会发出一个信号量
#在apps.py中添加 def ready(self)的方法
class UserOperationConfig(AppConfig):
name = 'user_operation'
verbose_name = "用户操作管理"
def ready(self):
import user_operation.signals
#新建signals.py
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
from rest_framework.authtoken.models import Token
from django.contrib.auth import get_user_model
from user_operation.models import UserFav
@receiver(post_save, sender=UserFav)
def create_userfav(sender, instance=None, created=False, **kwargs):
if created:
goods = instance.goods
goods.fav_num += 1
goods.save()
@receiver(post_delete, sender=UserFav)
def delete_userfav(sender, instance=None, created=False, **kwargs):
goods = instance.goods
goods.fav_num -= 1
goods.save()
或者在view.py viewsets类中重新加载,不利用前后端分离的规范性
# def perform_create(self, serializer):
# instance = serializer.save()
# goods = instance.goods
# goods.fav_num += 1
# goods.save()
来源:https://www.cnblogs.com/luguochang/p/12258504.html