2013-01-01 37 views
10

के साथ केस असंवेदनशील प्रश्न कैसे बनाएं मेरे पास member मॉडल है जिसमें email फ़ील्ड है। मुझे हाल ही में एहसास हुआ कि यदि ईमेल का एक हिस्सा पूंजीकृत है, तो अगर मैं ईमेल द्वारा फ़िल्टर करने का प्रयास करता हूं तो यह Django प्रश्नों में दिखाई नहीं देगा (एकाधिक सदस्य ऑब्जेक्ट्स में एक ही ईमेल होता है, लेकिन इसे पूंजीकृत नहीं किया जा सकता है)। डेटाबेस में प्रवेश करते समय मैं सभी ईमेल को कम-मामला बना सकता था, लेकिन अब इसके लिए बहुत देर हो चुकी है (जैसा कि वेबसाइट पहले ही लॉन्च हो चुकी है)। तो मैं कैसे जांच सकता हूं कि केस संवेदनशील होने के बिना कोई निश्चित ईमेल कौन है?Django मॉडल

+3

संभव डुप्लिकेट [Django मॉडल - केस-असंवेदी क्वेरी/छनन] (http://stackoverflow.com/questions/11743207/django-model-case-insensitive-query-filtering) – melbic

उत्तर

32

बस iexact का उपयोग करें:

User.objects.filter(email__iexact='[email protected]') 

केस-असंवेदी सटीक मिलान। यदि तुलना के लिए प्रदान किया गया मान कोई नहीं है, तो इसे एक SQL NULL के रूप में व्याख्या किया जाएगा (अधिक जानकारी के लिए isnull देखें)।