【发布时间】:2021-04-20 09:04:32
【问题描述】:
我正在构建一个 BlogApp 并且我构建了一个功能,它计算了观众人数。但我想知道谁看过这篇文章。
views.py
queryset = BlogPost.objects.annotate(num_views=Count('viewers')).order_by('-num_views')
datas = get_object_or_404(queryset,pk=pk)
if request.user.is_authenticated:
created = BlogPost.viewers.through.objects.get_or_create(post=datas,user=request.user)
每当我打印 {{ datas.viewers }} 时,下面的代码都会计算 Post 的浏览量,但是当我尝试打印 {{ datas.viewers.user.username }} 时,它不会显示查看过的用户
class BlogPost(models.Model):
viewers = models.ManyToManyField(settings.AUTH_USER_MODEL,related_name='viewed_posts',editable=False)
但我正在尝试显示“谁查看了 BlogPost。
任何帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: python django django-models view