【发布时间】:2021-11-24 12:43:31
【问题描述】:
我正在构建一个简单的问答网站,我正在尝试实现一个功能,用户可以在其中upload 4 answers But I am trying to hide show only any one answer 这显示了与问题相关的所有答案。
例如:- question_a 有 4 个答案,然后我尝试显示其中任何一个。
models.py
class Question(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=30)
marked = models.BooleanField(booleanField)
class Answer(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
question_of = models.ForeignKey(BlogPost, on_delete=models.CASCADE)
body = models.CharField(max_length=30)
views.py
def page(request):
query_2 = Answer.objects.filter(question_of__marked=True)[:1]
context = {'query_2':query_2}
return render(request, 'page.html', context)
在此查询中,我试图显示具有marked=True 的问题的答案,并且我还试图仅显示一个问题的答案,但它显示的是 4。
使用 [:1] 后,它只显示全部结果。
- 我也试过
.distinct(),但对结果没有影响。
我想做什么?
我正在尝试显示具有marked=True 的每个问题的第一个答案
非常感谢您的帮助。谢谢你
【问题讨论】:
-
Answer.objects.filter(question_of__marked=True)这将返回问题标记为 True 的所有答案。如果您想要任何一个问题的答案,请使用问题实例或 question_id 过滤问题字段。你也可以显示page.html -
如果您想显示与问题相关的答案,那么您的视图(页面)无效,您应该更改它。
-
我试图只回答每个问题的答案
标签: python django django-models django-views django-queryset