1
ile saymak yönetmek:nasıl dış, group_by katılmak ve Django ben takip modellerine sahip kullanarak 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)
Her oyuncu bir gruba bağlanır. Bazı grupta oyuncu yok. Amacım (tarafından JOIN ve Grup sol dış dahil) Django takip sorgusu çevirmek için geçerli:
select GroupPlayer.description, GroupPlayer.name, COUNT(Player.name) as gplayer
from (GroupPlayer LEFT OUTER JOIN Player ON GroupPlayer.id = Player.groupPlayer_id)
GROUP BY GroupPlayer.id
Şimdiye kadar yarattık 3 Sorgu Kümesi, ama keşke sonucu elde etmek için onları bir araya koyamazsınız :
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')
Herkes bu SOL DIŞ JOIN, Grup tarafından ve sayımda yardımcı olabilir?
Teşekkür