I need, through an update
operation, revert a boolean
value.
I tried:
Item.objects.filter(serial__in=license_ids).update(renewable=not F('renewable'))
But it doesn't work. I made sure the fields are not set to null
.
You can also do:
Item.objects.filter(serial__in=license_ids).update(renewable=Q(renewable=False))
when renewable is True
=> Q object condition will give False
when renewable is False
=> Q object condition will give True
Not is not supported here. You will have to use Case When
from django.db.models import Case, Value, When
Item.objects.filter(serial__in=license_ids
).update(renewable=Case(
When(renewable=True, then=Value(False)),
default=Value(True))
)
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With