【发布时间】:2017-10-03 15:34:09
【问题描述】:
我正在创建一个博客只是为了练习,我最近添加了视图计数器功能问题是当匿名用户打开帖子时 django 引发错误,因为在 post_detail 视图中我请求用户名这是视图:
def post_detail(request, post_id):
post = Post.objects.get(id=post_id)
if UserSeenPosts.objects.filter(post=post, user=request.user).exists():
print "all ready"
else:
post.views += 1
post.save()
UserSeenPosts.objects.create(user=request.user, post=post)
return render(request, 'blog/detail.html', {'Post': Post.objects.get(id=post_id)})
UserSeenPosts 模型:
class UserSeenPosts(models.Model):
user = models.ForeignKey(User, related_name='seen_posts')
post = models.ForeignKey(Post)
所以 django 可以给匿名用户的名字,比如 guest1 / guest2 并且应该序列化以避免重复的名字
【问题讨论】:
标签: django