javascript - How to limit choice field options based on another choice field in django admin -
मेरे पास निम्न मॉडल हैं:
वर्ग श्रेणी (models.Model): name = मॉडल। चाराफिल्ड (अधिकतम_ लैंग = 40) वर्ग मद (models.Model): नाम = मॉडल.खरीफिल्ड (अधिकतम_ लैंग = 40) श्रेणी = मॉडल। फ़ेरगिंककी (श्रेणी) वर्ग डेमो (models.Model): नाम = मॉडल.कारफिल्ड (max_length = 40) श्रेणी = मॉडल.आगेरेन्की (श्रेणी) आइटम = मॉडल.आगेरिनकी (आइटम) ड्रॉपडाउन से उपयोगकर्ता चुनने के बाद, एक नया डेमो बनाने में व्यवस्थापक इंटरफ़ेस में, मैं चाहूंगा "आइटम" ड्रॉप-डाउन में विकल्पों की संख्या को सीमित करने के लिए यदि उपयोगकर्ता किसी अन्य श्रेणी का चयन करता है तो आइटम विकल्पों को तदनुसार अपडेट करना चाहिए। मैं ग्राहक पर आइटम विकल्पों को सीमित करना चाहता हूं, इससे पहले कि वह सर्वर पर फ़ॉर्म सत्यापन को भी हिट कर दे। यह प्रयोज्यता के लिए है, क्योंकि वस्तुओं की सूची 1000+ हो सकती है इसे श्रेणी के आधार पर संकीर्ण करने में सक्षम होने से इसे अधिक प्रबंधनीय बनाने में मदद मिलेगी।
क्या ऐसा करने का एक "डीजेंगो-वे" है या कस्टम जावास्क्रिप्ट केवल एकमात्र विकल्प है?
आइटम विकल्प मानों को बदलने के लिए यहां कुछ जावास्क्रिप्ट (JQuery आधारित) है जब श्रेणी परिवर्तन होता है:
& lt; स्क्रिप्ट वर्णसेट = "यूटीएफ -8" प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; परिवर्तन (फ़ंक्शन () {$ .getJSON ("/ आइटम /", {आईडी: $ (यह) .val (), देखें: 'जेसन'}, फ़ंक्शन (जे) {var विकल्प = '& lt; विकल्प मान = "" & gt; -------- & amp; nbsp; & lt; / विकल्प & gt;' के लिए (var i = 0; i & lt; j.length ; I ++) {options + = '& lt; option value = "' + j [i]। OptionValue + '" & gt;' + j [i]। OptionDisplay + '& lt; / विकल्प & gt;';} $ ("# id_item एट्र ('चयनित', 'चयनित');}) $ ("# id_category") एट्र ('चयनित', 'चयनित')। ;})}) & Lt; / script & gt; आपको आइटम / URL पर कॉल करने के लिए एक दृश्य की आवश्यकता है जो मान्य वस्तुओं की जेएसओएन सूची प्रदान करता है।
आप इसे अपने व्यवस्थापक ।
Comments
Post a Comment