Increment/Decrement Field value
Posted: May 26th, 2010 | Author: Davo | Filed under: Django | Tags: incrementdecrement | 3 Comments »Incrementing or decrementing field values can be done by using the F() function.
UPDATE FIELD = FIELD + 1 WHERE… ?
from django.db.models import F
# views.py ...
offer = Offer.objects.get(...)
# SQL: UPDATE field_to_increment = field_to_increment + 1 ...
offer.field_to_increment = F('field_to_increment') + 1
offer.save()

Short and clear. Great info!
I just didn’t get it. Why not using just
offer.field_to_increment = offer.field_to_increment – 1
??
Hello Josir, what if during that time somebody else increments the value? You will end up setting a wrong value.