से ऑब्जेक्ट प्राप्त करें। मैं एक प्रश्नोत्तरी मालिक के प्रश्नोत्तरी पर सभी Guesses की सूची खींचने के लिए "समूह द्वारा" के बराबर करने की कोशिश कर रहा हूं, समूहीकृत उपयोगकर्ता द्वारा और उपयोगकर्ता द्वारा किए गए कितने अनुमानों की गिनती के साथ एनोटेटेड।एनोटेशन के माध्यम से Django "समूह द्वारा" प्राप्त करें: .value() बनाम एक आईडी
प्रासंगिक मॉडल:
class Quiz(models.Model):
user = models.ForeignKey(User)
...
class Guess(models.Model):
user = models.ForeignKey(User)
quiz = models.ForegnKey(Quiz)
...
इस क्वेरी:
guessors = Guess.objects.filter(quiz__user=request.user).values('user').annotate(cnt=Count('user')).order_by('cnt')
इस तरह रिटर्न कुछ, जो बहुत ही के करीब मैं क्या जरूरत है:
{'cnt': 5, 'user': 5}
{'cnt': 3, 'user': 4}
{'cnt': 2, 'user': 3}
{'cnt': 1, 'user': 2}
हालांकि, ध्यान दें कि 'उपयोगकर्ता' को एक int के रूप में वापस किया जाता है जब मैं एक पूर्ण उपयोगकर्ता वस्तु के रूप में चाहता हूं। इस बारे में कोई सुझाव है कि मुझे पूर्ण उपयोगकर्ता वस्तु को सबसे कुशलता से कैसे प्राप्त करना चाहिए?
नोट: मैं Django 1.3 पर हूँ – mitchf