Django REST的增量访问计数器

时间:2018-08-07 22:00:16

标签: python django rest

由于某种原因,我不知道为什么计数器仅在第一次获取URL时或服务器重新启动时才更新(或者当我只是保存我的代码而本地服务器正在更新时),而在此之后不再更新。

制作一个简单的计数器类

models.py

class HitCount(models.Model):
visits = models.IntegerField(default=0)

还有一个简单的更新,当应该从react获取视图时

views.py

class HitCountViewSet(viewsets.ModelViewSet):
HitCount.objects.filter(pk=1).update(visits=F('visits') + 1)

queryset = HitCount.objects.all()
serializer_class = HitCountSerializer

另外,如果有的话,还有我的serializer.py

class HitCountSerializer(serializers.ModelSerializer):
class Meta:
    model = HitCount
    fields = ('visits',)

我的目标只是在获取网址时更新计数器,然后出于显示目的获取计数数据。

1 个答案:

答案 0 :(得分:0)

other thing

然后尝试询问GET-class HitCountViewSet(viewsets.ModelViewSet): queryset = HitCount.objects.all() serializer_class = HitCountSerializer def retrieve(self, request, *args, **kwargs): instance = self.get_object() HitCount.objects.filter(pk=instance.id).update(visits=F('visits') + 1) serializer = self.get_serializer(instance) return Response(serializer.data)

http://your.domain_or_ip/hitcount/hitcount_id/这样的

代码在初始化时只会被调用一次。