Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/161.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
Sql 如何使用Django管理外部联接、分组和计数_Sql_Django_Django Models_Django Queryset - Fatal编程技术网

Sql 如何使用Django管理外部联接、分组和计数

Sql 如何使用Django管理外部联接、分组和计数,sql,django,django-models,django-queryset,Sql,Django,Django Models,Django Queryset,使用Django,我有以下模型: class Player(models.Model): name = models.CharField(max_length=64) description = models.CharField(max_length=128) groupPlayer = models.ForeignKey(GroupPlayer) class GroupPlayer(models.Model): description = models.Ch

使用Django,我有以下模型:

class Player(models.Model):
    name = models.CharField(max_length=64)
    description = models.CharField(max_length=128)
    groupPlayer = models.ForeignKey(GroupPlayer)


class GroupPlayer(models.Model):
    description = models.CharField(max_length=128)
    name = models.CharField(max_length=32)
每个玩家都链接到一个组。有些团体没有球员。我的目标是在Django中翻译以下查询(包括左外部联接和GROUPBY):

到目前为止,我已经创建了3个queryset,但我无法将它们放在一起以获得我希望的结果:

   queryset_player = Player.objects.values('groupPlayer_id').annotate(total=Count('groupPlayer__id'))
   queryset_group = GroupPlayer.objects.select_retated(queryset_player)
   queryset_group2 = GroupPlayer.objects.all().prefetch_related('player_set')
任何人都可以帮助左外连接、分组和计数

谢谢

   queryset_player = Player.objects.values('groupPlayer_id').annotate(total=Count('groupPlayer__id'))
   queryset_group = GroupPlayer.objects.select_retated(queryset_player)
   queryset_group2 = GroupPlayer.objects.all().prefetch_related('player_set')
from django.db.models import Count

groups = GroupPlayer.objects.annotate(num_players=Count('player'))
groups[0].num_players