Django फिल्टर बयान में क्या अंतर है, तो मैं लिखने:Django फ़िल्टर स्टेटमेंट में __exact और बराबर चिह्न (=) के बीच क्या अंतर है?
.filter(name__exact='Alex')
और
.filter(name='Alex')
धन्यवाद
Django फिल्टर बयान में क्या अंतर है, तो मैं लिखने:Django फ़िल्टर स्टेटमेंट में __exact और बराबर चिह्न (=) के बीच क्या अंतर है?
.filter(name__exact='Alex')
और
.filter(name='Alex')
धन्यवाद
कोई अंतर नहीं है, दूसरा मतलब __exact का उपयोग करने का तात्पर्य है।
documentation से:
For example, the following two statements are equivalent:
>>> Blog.objects.get(id__exact=14) # Explicit form
>>> Blog.objects.get(id=14)
# __exact is implied This is for convenience, because exact
# lookups are the common case.
आप एसक्यूएल कि Django को क्वेरीसमूह के query
संपत्ति परिवर्तित करके निष्पादित करेंगे देख सकते हैं एक स्ट्रिंग:
>>> from django.contrib.auth.models import User
>>> str(User.objects.filter(username = 'name').query)
'SELECT ... WHERE `auth_user`.`username` = name '
>>> str(User.objects.filter(username__exact = 'name').query)
'SELECT ... WHERE `auth_user`.`username` = name '
तो __exact
कोई फर्क नहीं पड़ता।