Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Django3中的条件聚合跨M2M关系创建查询?_Python_Django_Orm - Fatal编程技术网

Python 如何使用Django3中的条件聚合跨M2M关系创建查询?

Python 如何使用Django3中的条件聚合跨M2M关系创建查询?,python,django,orm,Python,Django,Orm,我为一个小测验之夜提出了这个简单的数据模型。现在,我想创建一个查询集,其中包含每个团队和回合的赢得分数(如果answer.is_correct为true,则计数)。此外,我想显示每个团队的总得分。不幸的是,我没有得到许多关系的注释和值逻辑 class Team(models.Model): name = models.CharField(max_length=100) class Game(models.Model): attending_team = models.M

我为一个小测验之夜提出了这个简单的数据模型。现在,我想创建一个查询集,其中包含每个团队和回合的赢得分数(如果answer.is_correct为true,则计数)。此外,我想显示每个团队的总得分。不幸的是,我没有得到许多关系的
注释
逻辑

class Team(models.Model):
    name = models.CharField(max_length=100)
    
class Game(models.Model):
    attending_team = models.ManyToManyField(Team, blank=True)
    title = models.CharField(max_length=200)

class Turn(models.Model):
    game = models.ForeignKey(Game, on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    
class Question(models.Model):
    turn = models.ForeignKey(Turn, on_delete=models.CASCADE)
    question_text = models.CharField(max_length=500)

class Answer(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    team = models.ForeignKey(Team, on_delete=models.CASCADE)
    is_correct = models.BooleanField(default=False)
    answer_text = models.CharField(max_length=500, blank=True, null=True) 
排行榜应如下表所示:

等级 队名 第一回合 第二回合 第三回合 全部的 1. A队 3. 2. 5. 10 2. B队 1. 1. 3. 5. 3. C队 1. 3. 0 4.