Comment interroger pour le comte?
-
28-09-2019 - |
Question
J'ai une requête,
Bid.objects.filter(shipment=shipment, status=BidStatuses.ACCEPTED, user=request.user, items__count=0).exists()
La partie qui ne fonctionne pas est items__count=0
. Les offres ont beaucoup à plusieurs avec les éléments. Je dois vérifier si cette offre a 0 articles. Comment puis-je faire?
La solution
L'agrégation.
http://docs.djangoproject.com/en/1.2/topics / db / agrégation /
voir la doc sur, lisez l'échantillon, vous trouverez la réponse
Autres conseils
Pour l'enregistrement (il y a déjà une réponse acceptée avec un lien vers docs d'agrégation Django), quels sont les besoins OP est:
Bid.objects.annotate(item_num=models.Count('items')).filter(shipment=shipment, status=BidStatuses.ACCEPTED, user=request.user, item_num=0).exists()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow