私はItem
オブジェクトがブール値のプロパティーactive
を持つDjangoサイトを持っています。私は真の、またその逆に偽からプロパティを切り替えるために、このような何かをしたいと思います:変数に返されたブール値を否定する方法はありますか?
def toggle_active(item_id):
item = Item.objects.get(id=item_id)
item.active = !item.active
item.save()
この構文は、多くのCベースの言語では有効ですが、Pythonで無効なようです。使用せずにこれを行うにはそこに別の方法がある:
if item.active:
item.active = False
else:
item.active = True
item.save()
ネイティブのpython neg()
方法が整数ではなく、ブールの否定の否定を返すようです。
ありがとうございました。あなたがこれを行うことができます
+1 OMG、これは可能なことを知らなかった、それは意味をなさないが、私はそれについて考えなかった!!素晴らしい答え! ( 'bool(1-True)'は少し遅く、 'not True'です) –
可能です。有用?そうは思わない!あなたがほとんどの言語でできるような醜いものがたくさんありますが、これはほとんどの読者にとってひどく混乱しています。おそらく非常に特殊な文脈では、これは意味をなさないかもしれません... – BuvinJ