【发布时间】:2015-02-13 04:31:13
【问题描述】:
我不断收到此错误“post”对象没有属性“liked_by_set”
Models.py
liked_by = models.ManyToManyField(User, related_name='likedby')
views.py
def like_unlike_article(request, post_id):
a = post.objects.get(id=post_id)
user = request.user
if user is a.liked_by_set.all():
# User has liked it before, means he wants to unlike it
a.liked_by_set.remove(user) # remove him from ``liked_by`` set
a.likes -= 1 # unlike the article
else:
# User wants to like it
a.liked_by_set.add(user) # add him to ``liked_by`` set
a.likes += 1 # like the article
a.save()
有什么帮助吗?
【问题讨论】:
-
你必须向我们展示你的模型才能得到这个问题的答案。
-
我认为 .all() 返回一个列表,然后
if user in a.liked_by.all(): a.liked_by.remove(user)
标签: django django-models django-views