我有一个代码,允许用户喜欢的职位,但我意识到用户可以喜欢的职位不止一次,我不想。如何限制?你知道吗
我的代码
@login_required
def like_post(request, pk):
if pk:
liked_post = Post.objects.get(id=pk)
count = liked_post.likes
count += 1
liked_post.likes = count
liked_post.save()
return redirect('/community/post/%s' %liked_post.id)
我试过的
加上这样的东西…但不确定
if post.likes.filter(id=user.id).exists():
post.likes.remove(user)
else:
post.likes.add(user)
您可以使用
unique_together
元类选项。这将引发一个验证错误,如果不想报告错误,可以忽略该错误。你知道吗在您的Likes模型(如果您有)中包括以下内容:
或者添加一个
liked_by
属性,作为many to many field
发布给应该为您管理uniqueness
内容的用户。这种关系只能存在一次。您可以使用Post.liked_by.count()
来获取like的数量,但是我可以将like计数作为它自己的属性。你知道吗相关问题 更多 >
编程相关推荐