gpt4 book ai didi

python - 限制用户多次点赞某个帖子

转载 作者:行者123 更新时间:2023-12-01 07:46:53 26 4
gpt4 key购买 nike

我有一个代码允许用户喜欢该帖子,但我意识到用户可以多次喜欢该帖子,但我不想要。我该如何限制这一点?

我的代码

@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元类选项。这会引发验证错误,如果您不想报告错误,可以忽略该错误。

在您的“赞”模型(如果有)中包含如下内容:

class Meta():
unique_together = ('id', 'user')

或者添加“liked_by”属性作为多对多字段发布给用户,以便为您管理唯一性内容。该关系只能存在一次。您可以使用 Post.liked_by.count() 来获取点赞数,但我可以将点赞数视为其自己的属性。

关于python - 限制用户多次点赞某个帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56419211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com