मैं HTML इनपुट पाठ बॉक्स में लिखा पाठ के साथ Django (admin.py) में डेटा फ़िल्टर करना चाहते हैं। मुझे शहर द्वारा कंपनियों को फ़िल्टर करने की ज़रूरत है जिसमें वे हैं और सभी शहरों की सूची बहुत लंबी है। मैं फ़िल्टर में सभी शहरों की सूची को एक टेक्स्ट इनपुट द्वारा प्रतिस्थापित करना चाहता हूं। मैं इसी तरह यहां http://djangosnippets.org/snippets/2429/ कुछ पाया है लेकिन वहाँ दो समस्याएं हैं:HTML इनपुट पाठ बॉक्स
- लेखक models.py तैनात नहीं किया था, इसलिए यह मेरी जरूरतों (+ कोई टिप्पणी नहीं)
- वहाँ प्रयोग किया जाता है वर्ग UserFieldFilterSpec के लिए कोड बदलने के लिए difficuilt है (RelatedFilterSpec): लेकिन मैं (Django/योगदान/व्यवस्थापक/filterspecs.py फ़ाइल में और अधिक), क्योंकि शहरों की सूची comapny के रूप में एक ही कक्षा में कर रहे हैं (वहाँ शहरों में से वर्ग और उन्हें होना चाहिए shoud RelatedFilterSpec के बजाय AllValuesFilterSpec उपयोग करने की आवश्यकता विदेशी कुंजी (ManyToMany संबंध) से कंपनी के लिए संदर्भित है, लेकिन कुछ कारणों से यह इस तरह से किया जाना)
models.py का महत्वपूर्ण हिस्सा तो फिर admin.py
class CatalogAdmin(admin.ModelAdmin):
form = CatalogForm
list_display = ('title','city')
list_filter = ['city',]
से इस
class Company(models.Model):
title = models.CharField(max_length=150,blank=False)
city = models.CharField(max_length=50,blank=True)
की तरह कुछ और कुछ लग रहा है, मैं की जरूरत है: 1. बजाय सूची के आयुध डिपो शहरों एक पाठ प्रदर्शित Django फ़िल्टर में इनपुट 2. उस पाठ इनपुट में शहर के निम इनपुट करने के बाद, शहर द्वारा डेटा फ़िल्टर करें (फ़िल्टरिंग के लिए अनुरोध कुछ सबमिट बटन या जावास्क्रिप्ट के माध्यम से भेजा जा सकता है)
सभी पदों के लिए धन्यवाद।
यह वास्तव में मैं क्या देख रहा था नहीं है। मेरी समस्या काम कर रहे पाठ इनपुट फ़िल्टर दिखाने के लिए है। स्वत: पूर्ण सुविधा अच्छी है और मैं इसे बाद में जोड़ना चाहूंगा। वैसे भी, आपकी प्रतिक्रिया के लिए धन्यवाद। – Jazzuell
ठीक है मैंने इसे अपने आप पर लगाया। मैंने filterpecs.py में अपना खुद का फ़िल्टर बनाया (मुझे पता है कि यह करने का यह बुरा तरीका है)। यदि आप इसे अपने फ़िल्टर को पंजीकृत करने के बारे में सावधान रहें तो इस तरह से प्रयास करें। आपका फ़िल्टर सिस्टम फ़िल्टर से पहले पंजीकृत होना चाहिए। Models.py में से आपके फ़िल्टर को एट्रिब्यूट करने के लिए असाइन करें। फ़िल्टर में मैंने कुछ ऐसा उपयोग किया जो पोस्ट यूआरएल को बदलता है जहां पैरामीटर हैं। एक शहर द्वारा फ़िल्टरिंग शहर = प्राग द्वारा किया जाता है लेकिन यदि आप फिल्टर की सूची द्वारा फ़िल्टर करना चाहते हैं तो आप city__in = प्राग, वियन, डबलिन का उपयोग करते हैं। ऐसा करने के लिए कई अच्छे तरीके हैं (प्रश्न, AJAX, ..) लेकिन मैं बस सीख रहा हूं। – Jazzuell