Wie fügen Sie eine Anmerkung auf unterschiedliche Gegenstände?
Ich habe eine Abfrage...
packages = Package.objects.annotate(bid_count=Count('items__bids'))
Soll mir eine Liste der Pakete mit der Anzahl der Angebote, jede. Es funktioniert großartig, wenn es nur ein Element in dem Paket, aber wenn es mehr ist es doppelt zählt.
Jedes Paket besteht aus 1 oder mehr Elemente. Jedes Gebot auf die 1 oder mehr Elemente in einem Paket. Ich will abrufen die Anzahl der Gebote auf den Artikel in diesem Paket.
Wenn es 1 bid platziert auf 2 Gegenstände in einem Paket, die gegenwärtig das zählt als 2, ich möchte es um 1.
Versuchte ich Count('items__bids__distinct')
aber das hat nicht funktioniert. Wie kann ich dies tun?
- Mögliche Duplikate von Django kommentieren rechnen mit einem deutlichen Feld
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem und ich fand die Auflösung hier: http://www.djangofoo.com/182/filter-annotate-count
distinct
argument?! Ich habe längst vergessen, was ich versuche zu tun mit dieser Frage, ich denke, das Projekt ist aufgegeben...aber falls es jemals dazu kommt wieder! Dies wird nützlich sein. Danke!django.db.models.aggregates.py
und sah die Unterschrift__init__(self, lookup, **extra)
, aber dann konnte ich nicht finden keine docs auf, wie diese benannt zusätzliche Argumente, und das ist natürlich die Antwort! Warum zum Teufel ist dieser nicht dokumentiert!?