Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या मैं स्ट्रिंग संयोजन के साथ Django F() ऑब्जेक्ट्स का उपयोग कर सकता हूं?

मेरा मुद्दा भी ऐसा ही था; मूल रूप से मैं उपयोगकर्ता का पूरा नाम प्राप्त करने के लिए दो क्षेत्रों को जोड़ना चाहता था। मैंने इसे इस तरह हल किया (लेकिन मुझे कहना होगा कि मैं पोस्टग्रेज़ का उपयोग कर रहा था):

from django.db.models.functions import Concat
from django.db.models import F, Value, CharField

AnyModel.objects.filter(**kwargs).annotate(full_name=Concat(F('model__user_first_name'), Value(' '), F('model__user_last_name'), output_field=CharField()))

जहां, F('...') एक क्वेरी के रूप में इसके तर्क का मूल्यांकन करता है, इसलिए आप मॉडल के किसी क्षेत्र को क्वेरी कर सकते हैं, या मॉडल में फैले हुए हैं जैसा कि आप फ़िल्टर/प्राप्त में करेंगे, जबकि Value('...') अपने तर्क का शाब्दिक रूप से मूल्यांकन करता है (मेरे मामले में मुझे first_name . के बीच में रखने के लिए एक स्थान की आवश्यकता है और last_name ), और output_field=... एनोटेट फ़ील्ड के प्रकार को निर्दिष्ट करता है (मैं एक CharField बनना चाहता था ). अधिक जानकारी के लिए, आप Django डॉक्स के बारे में पढ़ सकते हैं कॉनकैट

उम्मीद है कि यह वहां किसी के लिए मददगार होगा। चीयर्स



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक पंक्ति सम्मिलित करने के लिए SqlDataAdapter का उपयोग करना

  2. मेरे द्वारा पहली बार किसी उपयोगकर्ता को विशेषाधिकार प्रदान करने पर अनुदान उपयोग क्यों बनाया जाता है?

  3. Php . में एक mysql क्वेरी के माध्यम से पंक्ति द्वारा पुनरावृति कैसे करें

  4. MySQL अद्यतन IF शर्त का उपयोग कर

  5. django 2 में माइग्रेशन त्रुटि; विशेषता त्रुटि:'str' ऑब्जेक्ट में कोई विशेषता नहीं है 'डीकोड'