में पूरा नाम पूछताछ मैं Django में पूरा नाम कैसे पूछ सकता हूं?Django
स्पष्ट करने के लिए, मैं अनिवार्य रूप से एक अस्थायी स्तंभ बनाने करना चाहते हैं, first_name के संयोजन और एक पूरा नाम देने के लिए LAST_NAME, तो एक तरह उस पर है, तो कैसा लगा:
select [fields] from Users where CONCAT(first_name, ' ', last_name) LIKE '%John Smith%";
ऊपर क्वेरी सभी उपयोगकर्ताओं वापसी होगी जॉन स्मिथ नाम दिया। यदि संभव हो तो मैं कच्चे SQL कॉल का उपयोग करने से बचना चाहता हूं।
मैं जिस मॉडल के बारे में बात कर रहा हूं वह स्टॉक django.contrib.auth.models उपयोगकर्ता मॉडल है। सीधे मॉडल में बदलाव करना कोई समस्या नहीं है।
उदाहरण के लिए, यदि कोई उपयोगकर्ता 'जॉन पॉल स्मिथ' खोजना चाहता था, तो इसे 'जॉन पॉल' के पहले नाम और अंतिम नाम 'स्मिथ' के साथ-साथ पहले नाम 'जॉन' वाले उपयोगकर्ताओं से मेल खाना चाहिए। और अंतिम नाम 'पॉल स्मिथ'।
कृपया अपने Django मॉडल शामिल करें। यदि आप एक "व्युत्पन्न मूल्य" चाहते हैं (जैसे कि 'CONCAT (first_name,' ', last_name)' एसक्यूएल में) तो आपको इसे मॉडल में जोड़ना होगा। इसलिए, अपने प्रश्न में मॉडल शामिल करें। –
क्या आप जानते हैं, बीटीडब्ल्यू, कि 'CONCAT (first_name,' ', last_name) जैसे'% जॉन स्मिथ% '' बहुत अक्षम है? 'First_name LIKE'% जॉन 'का उपयोग करके और अंतिम_नाम जैसे' स्मिथ% '' अधिक कुशल हो सकता है ऐसा करने के लिए गैर-CONCAT तरीके होने पर आप CONCAT का उपयोग क्यों करते हैं? –
यह मानक django.contrib.auth.models उपयोगकर्ता मॉडल है। हम पहले से ही इस मॉडल में फ़ील्ड जोड़ रहे हैं/बदल रहे हैं, इसलिए संशोधन एक नहीं हैं समस्या। –