Ich habe eine Django-Site mit einem Item
Objekt, das eine boolesche Eigenschaft hat active
. Ich möchte so etwas tun, um die Eigenschaft von False auf True und umgekehrt umzuschalten:
def toggle_active(item_id):
item = Item.objects.get(id=item_id)
item.active = !item.active
item.save()
Diese Syntax ist in vielen C-basierten Sprachen gültig, scheint jedoch in Python ungültig zu sein. Gibt es eine andere Möglichkeit, dies OHNE Verwendung von:
if item.active:
item.active = False
else:
item.active = True
item.save()
Die native Python- neg()
Methode scheint die Negation einer Ganzzahl zurückzugeben, nicht die Negation eines Booleschen Werts.
Danke für die Hilfe.
bool(1-True)
es dann etwas langsamer istnot True
)Die Negation für Boolesche Werte ist
not
.def toggle_active(item_id): item = Item.objects.get(id=item_id) item.active = not item.active item.save()
Danke Jungs, das war eine blitzschnelle Antwort!
quelle
Es ist einfach zu tun:
item.active = not item.active
Am Ende haben Sie also:
def toggleActive(item_id): item = Item.objects.get(id=item_id) item.active = not item.active item.save()
quelle