/ / Django एकत्रीकरण पैरामीटर कैसे करें? - django, एकत्रीकरण

Django एकत्रीकरण पैरामीटर कैसे करें? - django, एकत्रीकरण

मैं कुछ ऐसा करना चाहता हूं

query.annotate(Count("foreign_model_relation", somefield_from_foreign_model=some_value))

इसका मतलब है, मैं गिनना चाहता हूं, कितनी वस्तुओंएक और क्वेरीसेट से इस ऑब्जेक्ट को इंगित कर रहे हैं। फ़िल्टर (जैसे = other_queryset) जैसे कुछ का उपयोग करने के बीच अंतर यह है कि मैं इसे जोड़ना चाहता हूं एक प्रति वस्तु एक प्रश्न उत्पन्न करने से बचने के लिए क्वेरी।

सरलीकृत मॉडल:

  • समूह
  • वस्तु
    • समूह (समूह)
  • वोट
    • वस्तु वस्तु)
    • अप (बूलियन)

अब मैं एक या दो प्रश्नों के साथ, एक ऑब्जेक्ट के लिए एक / दो प्रश्नों के साथ, एक समूह के लिए सभी ऑब्जेक्ट्स की अप / डाउन गिनती से पूछना चाहता हूं।

उत्तर:

उत्तर № 1 के लिए 1

आप इसे दो प्रश्नों के साथ कर सकते हैं:

YourObject.objects.filter(vote__up=True, group=some_group).annotate(total_votes_up=Count("vote"))
YourObject.objects.filter(vote__up=False, group=some_group).annotate(total_votes_down=Count("vote"))

लेकिन मुझे लगता है कि ऐसा करने के लिए कुछ और शानदार तरीका मौजूद होना चाहिए।