मेरे पास 'StoreItem' नामक एक मॉडल है और 'QuoteItem' नामक एक मॉडल है। StoreItem पर एक उद्धरण चिह्न।django एनोटेट - सशर्त गिनती
मैं दुकान वस्तुओं पर कितनी बोली वस्तुएं इंगित करता हूं, लेकिन उद्धरण वस्तुओं पर लागू होने वाली स्थितियों के काउंटर को एनोटेट करने का प्रयास कर रहा हूं।
items = items.annotate(
quote_count=Count(
Case(
When(quoteitem__lookup_date__in=this_week, then=1),
output_field=IntegerField()
)
)
)
'आइटम' StoreItems के क्वेरीसमूह हैं:
मैं कुछ इस तरह की कोशिश की। 'this_week' इस सप्ताह का प्रतिनिधित्व करने वाली तिथियों की एक सूची है (यह वह फ़िल्टर है जिसे मैं लागू करने का प्रयास करता हूं)। तारीखों को काम करने के बाद मैं इस सशर्त गिनती में और अधिक फ़िल्टर जोड़ना चाहता हूं लेकिन इसके साथ शुरू करने देता हूं।
वैसे भी क्या मैं हो रही है एक बूलियन की तरह अधिक है - अगर उद्धरण आइटम से मेल खाने वाले हालत मौजूद है, कोई फर्क नहीं पड़ता कि कितने मेरे पास है, काउंटर बाकी 1. हो जाएगा, हो जाएगा 0.
ऐसा लगता है Count(Case())
की तरह ही जांचें कि कोई आइटम मौजूद है और यदि ऐसा है तो 1 लौटाएं, जबकि मैं स्टोर आइटम पर इंगित सभी उद्धरण वस्तुओं पर पुनरावृत्ति करना चाहता हूं और उन्हें गिनना चाहता हूं, अगर वे स्थिति (व्यक्तिगत रूप से) से मेल खाते हैं।
मैं इसे कैसे कर सकता हूं?