Django REST的增量访问计数器

2024-05-13 03:41:56 发布

您现在位置:Python中文网/ 问答频道 /正文

由于某些原因,我不明白为什么我的计数器只在第一次获取url时更新,或者在服务器重新启动时(或者当我保存代码并且本地服务器正在更新时)才更新,而在这之后就不再更新了。在

做了一个简单的计数器类

在模型.py在

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

以及当视图应该从react获取时的一个简单更新

在视图.py在

^{pr2}$

还有,万一,还有我的序列化程序.py在

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

我的目标只是在获取url时更新计数器,然后获取用于显示的count数据。在


Tags: 代码py模型服务器视图defaulturlmodel
1条回答
网友
1楼 · 发布于 2024-05-13 03:41:56
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)

然后尝试询问GET-http://your.domain_or_ip/hitcount/hitcount_id/

位于queryset = HitCount.objects.all()位置的代码在init时只调用一次。在

相关问题 更多 >