मैं दो मॉडल इस तरह हल्के ढंग से परिभाषित किया है साथ गिनती व्याख्या:Django एक विशिष्ट क्षेत्र के
class InformationUnit(models.Model):
username = models.CharField(max_length=255)
project = models.ForeignKey('Project')
...
class Project(models.Model):
name = models.CharField(max_length=255)
अब, एक दृश्य में, मैं सभी InformationUnits कि एक परियोजना के हैं व्याख्या करना चाहते हैं, तो मैं ऐसा करते हैं:
p = Project.objects.all().annotate(Count('informationunit')
जो सिर्फ ठीक इसके अलावा, मैं जानना चाहता हूँ काम करता है, प्रत्येक परियोजना, कितने अलग 'उपयोगकर्ता नाम' भाग लेने में। यह है कि, एक परियोजना लिखें जो सूचनाUnits में कितने विशिष्ट 'उपयोगकर्ता नाम' हैं। मैं निम्नलिखित की कोशिश की है, लेकिन यह केवल उपयोगकर्ता नाम की परवाह किए बिना, InformationUnit की संख्या की गणना:
p = Project.objects.all().annotate(Count('informationunit__username')
ध्यान दें कि उपयोगकर्ता नाम एक वस्तु नहीं है, यह एक श्रृंखला है। क्या ऐसा करने का कोई साफ तरीका है या क्या मुझे लूप और स्पेगेटी कोड के आधार पर एक और जटिल कोड बनाना चाहिए: पी
बहुत बहुत धन्यवाद!
के साथ इस काम की पुष्टि कर सकता है यह काम करता है! मुझे यह कहीं और मिला और यहां तक कि कोशिश की गई (वास्तव में यह सवाल पूछने से पहले मैंने आखिरी चीज की थी)। शुरुआत में यह काम नहीं किया, लेकिन विकास सर्वर को पुनरारंभ करने के बाद आज फिर से कोशिश की और यह चाल है: पी बहुत बहुत धन्यवाद! – fenomenoxp
यह दस्तावेज है (अब, वैसे भी): https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.Count.distinct –