python - Toggle boolean fields from a Queryset using F objects -



python - Toggle boolean fields from a Queryset using F objects -

i've tried these queries these results:

queryset.update(done=not f('boolean')) {'time': '0.001', 'sql': u'update "todo_item" set "done" = true'} queryset.update(done=(f('boolean')==false)) {'time': '0.001', 'sql': u'update "todo_item" set "done" = false'}

what this:

queryset.update(done=f('done')) {'time': '0.002', 'sql': u'update "todo_item" set "done" = "todo_item"."done"'}

but

set "done" = !"todo_item"."done"

to toggle boolean value

i developing django-orm extension, , have partially implemented solution problem.

>>> django_orm.expressions import f >>> niwi.models import testmodel >>> testmodel.objects.update(done=~f('done')) # sql: update "niwi_testmodel" set "done" = not "niwi_testmodel"."done"; args=()

https://github.com/niwibe/django-orm

is partial solution , not clean. , far postgresql. in while i'll see how improve it.

update: improved , works on postgresql, mysql , sqlite.

python sql django boolean django-queryset

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

intellij idea - Update external libraries with intelij and java -

javascript - send data from a new window to previous window in php -