内容介绍
通常在新闻管理平台中需要记录该单篇文章阅读的数量,进行总数的统计业务。同样自动递增的点赞数、转发数同理进行处理即可。
models.py
# 文章内容管理
class ArticleInfo(models.Model):
......
praise_num = models.IntegerField(default=0, verbose_name='点赞数', help_text="点赞数")
read_num = models.IntegerField(default=0, verbose_name='浏览数', help_text="浏览数")
fav_num = models.IntegerField(default=0, verbose_name='收藏数', help_text="收藏数")
......
class Meta:
verbose_name = '新闻基础信息'
verbose_name_plural = verbose_name
def __str__(self):
return self.article_title
views.py
在模型对应的view的class中添加即可
# 定义全部文章获取方式info
class ArticleInfoListViewSet(viewsets.GenericViewSet):
......
# 这里实现范文过后阅读数自动+1 重写retrieve方法
def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
instance.read_num += 1 # 接口通过浏览详情在read_num中自动+1
instance.save()
serializer = self.get_serializer(instance)
return Response(serializer.data)