Lassen Sie uns sagen, ich habe eine einfache Abstimmungsform mit verschiedenen Antworten. können die Leute mehrfach von einer IP abstimmen. Ich kann leicht finden, wie viele Stimmen eine gegebene Antwort bekommen hat - a.vote_set.all().count()
(keine Begrenzung der Stimmen von 1 IP) Ich kann auch herausfinden, wie viele Stimmen es gab, angesichts der Grenze 1 Stimme von 1 IP - a.vote_set.all().values('ip').distinct().count()
(Grenze der Stimmen von eins IP = 1) Wie bekomme ich die Summe der Stimmen für eine gegebene Antwort, vorausgesetzt ich möchte bis zu 10 Stimmen von 1 IP zählen (Limit = 10)?Django Abfrage - zählen Sie bis zu 10 Stimmen aus einer IP
Um meine Frage zu klären: Ich brauche eine Django orm Abfrage, um alle Stimmen für eine gegebene Antwort zu bekommen - aber mit dieser Bedingung, dass ich bis zu 10 Stimmen von einer IP zählen will. Beispiel: Antwort A hat insgesamt 100 Stimmen erhalten. Die 100 Stimmen aus der folgenden IP kam (entweder eine Person gewählt oder ein Paar von ihnen, die gemeinsame öffentliche IP gemeinsam):
1) 120.xxx - 20 Stimmen 2) 121.xxx - 50 Stimmen 3) 122. xxx - 10 Stimmen 4) 123.xxx - 5 Stimmen 5) 124.xxx - 15 Stimmen
ich die Abfrage will 45 Stimmen zurückzukehren: 10 Stimmen von IP 1) (10, nicht 20, weil 10 ist eine Grenze), 10 von 2), 10 von 3), 5 von 4) und schließlich 10 von 5.
Ich weiß nicht im Voraus, wie viele IPs die Wähler verwendet haben. Bitte sagen Sie mir nicht, dass dieser Anwendungsfall unwahrscheinlich ist - es ist real, ich muss es tun und stecken geblieben: P
Meine Lösung sollte es tun und es ist django-y auch :) –