【问题标题】:Showing user ratings for django object list [duplicate]显示 django 对象列表的用户评分 [重复]
【发布时间】:2011-02-11 00:01:20
【问题描述】:

我有一个模板,它只是一个简单的对象列表,我想在该对象旁边显示当前用户对每个对象的评分。以下是相关模型:

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),评级是“信心”。我的模板目前列出了给定主题的问题,我希望当前用户对该问题旁边的每个问题都有信心(如果存在)。

关于如何查询并将其发送到/显示在模板中的任何想法?提前感谢您的帮助!

edit:如有必要,我可以更改模型。尝试模型仅用于此,因此可以完全替换它。

【问题讨论】:

    标签: django django-models django-templates


    【解决方案1】:

    要在单个查询中完成这项工作,我认为您需要从 Attempt 模型开始查询。

    Attempt.objects.select_related().filter(problem__topic=mytopic, user=request.user)
    

    这将为您提供当前用户在此特定问题上的尝试列表。然后在你的模板中你可以遍历这个:

    {% for attempt in attempts %}
    {{ attempt.problem.topic }}
    {{ attempt.confidence }}
    

    【讨论】:

    • 我认为您的查询为我提供了当前用户在此特定主题上的尝试列表,但该主题中也会出现没有相关尝试的问题,我需要列出那些也是。
    猜你喜欢
    • 1970-01-01
    • 2020-11-06
    • 2013-01-14
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2016-02-22
    相关资源
    最近更新 更多