所以我有3个模型
class User(models.Model):
class UserQuestions(models.Model):
user = models.ForeignKey(User)
question = models.ForeignKey(Question)
class UserAnswers(models.Model):
user = models.ForeignKey(User)
question = models.ForeignKey(Question)
我想得到所有用户的列表,但是我想用一个问题字段过滤他们的userquestion_集和useranswer集,然后用userquestions_set和useranswer_集的总和来注释queryset。在
如果我做一些类似的事情:
^{pr2}$它过滤我的用户,我想过滤他们的userquestions和useranswers集合,以便它们只包含与我的值相等的字段的问题,以便为queryset中的行获得适当的注释。在
任何帮助都是非常感谢的。在
你在正确的轨道上。在
将对查询求值的结果行类似于:
对于}的所有组合,其中}。因此,当您将
User
、UserQuest
和{*__user_id
等于{&
对象放在一起时,您只考虑与Q
对象匹配的行。这就是为什么您的注释只适用于问题和答案都符合您的条件的用户。所有其他的User
都被过滤掉了。在对
Q
对象使用|
也不会有太大帮助,因为不匹配的条件将被视为误报,反之亦然。在因此,您唯一的选择是首先加载所有用户,然后加载所有用户,并将正确答案标注为答案计数,然后加载所有用户,并将正确的问题标注为问题计数。最后,您应该用相关的计数来注释用户。在
编辑(示例): 以下内容未经测试,我为我生锈的Python道歉:
^{pr2}$我们的想法是,我们可以用三个简单的查询来完成所有事情,因为不可能只在一个查询中完成。在
相关问题 更多 >
编程相关推荐