मेरे पास एक Django साइट है, जिसमें Item
ऑब्जेक्ट है जिसमें बूलियन प्रॉपर्टी active
है। मैं यह सच है और इसके विपरीत करने के लिए झूठी से संपत्ति टॉगल करने के लिए कुछ इस तरह करना चाहते हैं:क्या एक बूलियन वैरिएबल पर लौटने का कोई तरीका है?
def toggle_active(item_id):
item = Item.objects.get(id=item_id)
item.active = !item.active
item.save()
इस वाक्य रचना कई सी-आधारित भाषाओं में मान्य है, लेकिन अजगर में अमान्य लगता है।
if item.active:
item.active = False
else:
item.active = True
item.save()
देशी अजगर neg()
विधि एक पूर्णांक का निषेध, कोई बूलियन का निषेध वापस जाने के लिए लगता है: वहाँ एक और तरीका है का उपयोग कर के बिना यह करने के लिए है।
सहायता के लिए धन्यवाद।
+1 ओएमजी, कभी नहीं पता था कि यह संभव था, यह समझ में आता है लेकिन मैंने कभी इसके बारे में सोचा नहीं !! बहुत बढ़िया जवाब! (हालांकि 'बूल (1-ट्रू)' थोड़ा धीमा है तो 'सत्य नहीं') –
संभव, हां। उपयोगी? कम संभावना! ऐसी कई बदसूरत चीजें हैं जो आप किसी भी भाषा के साथ कर सकते हैं, लेकिन यह ज्यादातर पाठकों के लिए बहुत भ्रमित है। शायद एक बहुत ही विशेष संदर्भ में यह समझ में आ सकता है ... – BuvinJ