django - Get QuerySets from Many2ManyField (include related fields) -


हे, मेरे पास एक मॉडल है जो एक बोर्ड है

  वर्ग बोर्ड (models.Model  

तो कहें

  कंप्यूटिंग  

नामक एक बोर्ड से संबंधित हो सकता है

अब, कहते हैं कि मैं एक धागा असाइन करता हूं, यह एक थ्रेड ऑब्जेक्ट है

  वर्ग थ्रेड (models.Model): board = models.ForeignKey (बोर्ड)  

विंडोज़ बोर्ड में, मैं इस ऑब्जेक्ट को आसानी से प्राप्त कर सकता हूं।

लेकिन मैं कंप्यूटिंग से जुड़े सभी थ्रेडों को सूचीबद्ध करना चाहता हूं

थ्रेड विंडोज बोर्ड से संबंधित है, लेकिन यह कम्प्यूटिंग बोर्ड एसोसिएशन के माध्यम से।

मैं कंप्यूटिंग बोर्ड पर एक क्वेरी कैसे चला सकता हूं और सब थ्रेड्स को उसके उप-बोर्डों से प्राप्त कर सकता हूं (साथ ही कोई कंप्यूटिंग धागा से संबंधित)?

मैंने यह किया है, लेकिन यह बहुत कच्चा है, मैं आश्चर्य है कि अगर ऐसा करने का एक और अधिक डीजेंगो तरीका

इस समय मेरे काम का यह कोड है

  लिस्टिंग = [] # खाली सूची Board.board_set.all () में बोर्ड: board.listing_set.all () में सूचीबद्ध होने के लिए प्रत्येक बोर्ड के लिए: # प्रत्येक बोर्ड प्रविष्टियों की लिस्टिंग प्राप्त करें। Append (लिस्टिंग) # लिस्टिंग सूची में संलग्न   

आप क्यू ऑब्जेक्ट का उपयोग कर सकते हैं यह मानते हुए कि आपके बोर्ड के मॉडल में 'नाम' फ़ील्ड है जिसमें बोर्ड का नाम है, मेरा मानना ​​है कि निम्न कार्य करना चाहिए:

  से django.db.models आयात Q Thread.objects.filter (Q (board__parent_board__name) पहला क्यू ऑब्जेक्ट धागे का चयन करता है जो एक बोर्ड का हिस्सा होता है जिसमें 'पेरेंट_बोर्ड' नाम के साथ बोर्ड पर सेट होता है। '' 'कॉम्प्यूटिंग' ') क्यू (नाम =' कम्प्यूटिंग ')) क्यू (नाम =' कम्प्यूटिंग '))  

कम्प्यूटिंग '। दूसरा प्रश्न ऑब्जेक्ट धागे का चयन करता है जो एक बोर्ड का सीधे भाग होता है जिसका नाम 'कंप्यूटिंग' होता है


Comments

Popular posts from this blog

python - rename keys in a dictionary -

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -