1. ホーム
  2. python

[解決済み] 変数に返されたbooleanを否定する方法はありますか?

2023-08-01 14:03:04

質問

私は Django サイトを持っていて、その中に Item オブジェクトがあり、そのオブジェクトには boolean プロパティ active . このプロパティをFalseからTrueに、またはその逆に切り替えるために、次のようなことを行いたいと思います。

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()

ネイティブのパイソン neg() メソッドは、ブール値の否定ではなく、整数の否定を返すようです。

ありがとうございました。

どのように解決するのですか?

こうすればいいのです。

item.active = not item.active

これでうまくいくはずです :)