मैं एक Django एप्लिकेशन लिख रहा हूं जिसमें लोगों के लिए एक मॉडल है, और मैंने एक झटका मारा है। मैं कई लोगों से कई रिश्तों का उपयोग करके लोगों को भूमिका वस्तुएं सौंप रहा हूं - जहां भूमिकाओं का नाम और वजन होता है। मैं अपनी भारी भूमिका के वजन से लोगों की सूची को ऑर्डर करना चाहता हूं। अगर मैं People.objects.order_by ('- भूमिकाएं' वजन) करता हूं, तो मुझे डुप्लिकेट मिलते हैं जब लोगों को उनके लिए कई भूमिकाएं सौंपी जाती हैं।Django: कई से कई फ़ील्ड द्वारा मॉडल को ऑर्डर करें
मेरा प्रारंभिक विचार भारी-भूमिका-भार नामक एक असामान्य क्षेत्र को जोड़ना था - और इसके द्वारा क्रमबद्ध करें। यह तब भी अपडेट किया जा सकता है जब उपयोगकर्ता द्वारा नई भूमिका को जोड़ा या हटा दिया गया हो। हालांकि, यह पता चला है कि जब भी कई ToTManyField को Django (yet, वैसे भी) में अद्यतन किया जाता है, तो कस्टम कार्रवाई करने का कोई तरीका नहीं है।
तो, मैंने सोचा कि मैं पूरी तरह से ओवरबोर्ड पर जा सकता हूं और इसे संभालने के लिए एक कस्टम फ़ील्ड, डिस्क्रिप्टर और मैनेजर लिख सकता हूं - लेकिन यह बहुत मुश्किल लगता है जब ManyRelatedManager को कईToManyField के लिए गतिशील रूप से बनाया गया है।
मैं कुछ चालाक एसक्यूएल के साथ आने की कोशिश कर रहा हूं जो मेरे लिए यह कर सकता है - मुझे यकीन है कि यह सबक्वायरी (या कुछ) के साथ संभव है, लेकिन मैं इसके बारे में चिंतित हूं कि यह संगत नहीं होगा डाटाबेस बैकएंड्स Django का समर्थन करता है।
क्या किसी ने इससे पहले किया है - या कोई विचार है कि इसे कैसे प्राप्त किया जा सकता है? एसक्यूएल में
मैं बस क्या था:
इस की मदद से आप कुछ ऐसा कहना खोज रहे हैं मैं Django 1.1 नहीं चला रहा हूं, लेकिन मैं अपने कस्टम मैनेजर में उस एसक्यूएल का उपयोग कर सकता हूं। धन्यवाद :) –