我有一个模板,它只是一个简单的对象列表,我想显示当前用户对该对象旁边每个对象的评级。以下是相关模型:
class Problem(models.Model):
question = models.TextField()
answer = models.TextField()
topic = models.ForeignKey(Topic)
class Attempt(models.Model):
user = models.ForeignKey(User)
problem = models.ForeignKey(Problem)
confidence = models.CharField(max_length=10)
date = models.DateTimeField(auto_now=True)
因此,对象是'问题'(在列表中显示为ID),评级为'置信度'。我的模板目前列出了给定主题的问题,我希望当前用户对该问题旁边的每个问题都有信心(如果存在)。
关于如何查询并将其发送到/在模板中显示的任何想法?在此先感谢您的帮助!
编辑:如有必要,我可以改变模型。尝试模型仅适用于此,因此可以完全替换。
答案 0 :(得分:0)
使用this answer略微修改类似问题找到解决方案。
答案 1 :(得分:0)
要在单个查询中完成此工作,我认为您需要从Attempt
模型开始查询。
Attempt.objects.select_related().filter(problem__topic=mytopic, user=request.user)
这将为您提供当前用户对此特定问题的尝试列表。然后在您的模板中,您可以遍历:
{% for attempt in attempts %}
{{ attempt.problem.topic }}
{{ attempt.confidence }}