Disons que j'ai la structure de modèle suivante :
Parent():
Child():
parent = ForeignKey(Parent)
GrandChild():
child = ForeignKey(Child)
state = BooleanField()
num = FloatField()
J'essaie de faire en sorte que les parents ViewSet
récupérer les éléments suivants :
- Le nombre d'enfants.
- La SOMME des champs 'num' lorsque 'state' est vrai.
Je peux faire ce qui suit :
queryset = Parent.objects\
.annotate(child_count=Count('child'))\
.annotate(sum_total=Sum('child__grandchild__num'))
Cela me donne (1) mais au lieu de (2), cela me donne la SOMME pour TOUS les petits-enfants. Comment puis-je filtrer les petits-enfants de manière appropriée tout en m'assurant que j'ai tous les éléments de la base de données. Parent
toujours dans le QuerySet ?