我正在用django建立一个网站来存储我的大学笔记。 我有一个注释模型,该模型通过foreignkey链接到类别模型。 在我的主页上,我使用了for循环将链接发布到每个类别页面,但是在方括号中,我还想显示该类别中已发布注释的数量。 例如: 生物学(6)化学(4)物理(12 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
这是我的models.py
class Article(models.Model):
title = models.CharField(max_length=100) #The title of the article
# This is to count the number of users who have viewed the article
viewed_user = models.ManyToManyField(User,related_name='viewed_user',blank=True)
我试图在views.py 中添加逻辑,当用户访问特定文章时,如果用户不在viewed_user 列表中,则该用户被添加到那里。
这是我在views.py中尝试过的
article = get_object_or_4040(Article,id=id)
if user in article.viewed_user.get_queryset():
print("User has already viewed the article")
else:
article.viewed_user.create(user=user) # THrows an error
但是当我尝试、更新、创建、设置、append 时,我遇到了很多类型的错误。
任何帮助将不胜感激。
其实,我已经想通了。 主要问题是这个错误
禁止直接分配到多对多集合的反面。 请改用viewed_user.set()。
所以我所做的是使用添加。 例如在我上面的views.py中的问题
class Article(View):
def get(self,request,id=None):
article = get_object_or_404(Article,id=id)
user = self.request.user
if user in article.viewed_user.all():
print('user in viewed_user')
else:
article.viewed_user.add(user) #The updated Code
现在对我有用。 我希望有一天它会帮助某人。 和平
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.