मान लीजिए इस तरह की एक संरचना है:Django रिलेशनल मॉडल के एक विशिष्ट मूल्य पर क्वेरीसमूह व्याख्या विशेषता
PARTICIPATION_STATUSES = (
(0, 'No, thanks'),
(1, 'I may attend'),
(2, 'I\'ll be there'),
)
class Model1(models.Model):
# ...
class Model2(models.Model):
status = models.PositiveIntegerField(
_('participation status'), choices=PARTICIPATION_STATUSES)
field = models.ForeignKey(Model1, related_name='model1_participation')
मुझे क्या करना चाहते हैं Model2
वस्तुओं की गिनती के साथ Model1
की प्रत्येक वस्तु टिप्पणी करने के लिए जहां स्थिति के बराबर होती है एक है विशिष्ट मान (स्थिति संख्या यह विशेष उदाहरण है)।
मेरी छद्म कोड में यह दिखाई देगा:
queryset = Model1.objects.all()
queryset.annotate(declined=Count('model1_participation__status=0'))
queryset.annotate(not_sure=Count('model1_participation__status=1'))
queryset.annotate(accepted=Count('model1_participation__status=2'))
लेकिन मैं इस तरह से क्वेरीसमूह व्याख्या नहीं कर सकते Django status=<n>
का समाधान नहीं होता है।
जो मैं चाहता हूं उसे हासिल करने का सही तरीका क्या है?
धन्यवाद, यह वास्तव में अच्छा दिखता है, लेकिन मुझे ऑब्जेक्ट्स को एनोटेट करने की आवश्यकता है और कुल नहीं होना चाहिए। क्या आपके पास एनोटोटियोज़ पर कोई विचार है? – pythad
मैंने जवाब संशोधित किया है, इसे अभी भी वैसे ही काम करना चाहिए। इसे एक शॉट दो और मुझे बताएं कि यह कैसे चला जाता है! –
मॉडल को देखते हुए, मुझे नहीं लगता कि 'field_set' सही नाम है (' _set' ऑब्जेक्ट्स के लिए उपयोग किया जाता है, यानी एक विशिष्ट उदाहरण के संबंधित रिकॉर्ड्स को पुनर्प्राप्त करने के लिए)। 'कब (model2__status == ...' बल्कि – Pynchia