【发布时间】:2021-04-18 12:54:57
【问题描述】:
我尝试为 Post 获取所有 cmets 并在 NotfFaId 中添加用户我不明白如何修复它。 , 精确查找的 QuerySet 值必须使用切片限制为一个结果。
def topic_single(request, post):
post = get_object_or_404(Topic, slug=post, status='published')
postcat = Topic.objects.filter(category=post.category)
# print(post.comments.all())
fav = bool
random_items = Topic.newmanager.all().order_by('?')[0:9]
if post.favourites.filter(id=request.user.id).exists():
fav = True
session_key = 'view_post_{}'.format(post)
if not request.session.get(session_key,False):
post.views +=1
post.save()
request.session[session_key] = True
allcomments = post.comments.filter(status=True)
CommentT.objects.get(id=allcomments).NotfFaId.add(request.user)
comment_form = NewCommentTForm()
return render(request, 'forum/detail.html', {'post': post, 'comment_form': comment_form, 'allcomments': allcomments,
'random_items': random_items,
'Category': Category.objects.all(),'Category2': postcat,
'fav': fav})
型号
class CommentT(MPTTModel):
Topic = models.ForeignKey(Topic, on_delete=models.CASCADE, related_name='comments')
author = models.ForeignKey( User, on_delete=models.CASCADE, related_name='author')
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')
NotfFaId = models.ManyToManyField( User, related_name='NotfFaVId', default=None, blank=True)
content = models.TextField()
publish = models.DateTimeField(auto_now_add=True)
status = models.BooleanField(default=True)
class MPTTMeta:
order_insertion_by = ['publish']
【问题讨论】: