Hi, all. I want to increase some integer value until limit.
And.. all instance would have different increasing value and different limit. I modeled like this: class Foo( models.Model ): value = models.IntegerField(default=0) delta = models.IntegerField(default=1) limit = models.IntegerField(default=100) #1: with raw SQL query cursor.execute( "UPDATE foo SET value = CASE WHEN value + delta < limit THEN value + delta ELSE limit END" ) #2: with django's ORM (is there more elegant way?) @transaction.commit_on_success() def update_foo(): foo.objects.all().update( value= F("value") + F("delta") ) foo.objects.filter(value__gt=F("limit")).update( value= F("limit") ) #1 is faster than #2 in my case and environment. I want to know which is better Django's design. Or some another good way? How do you code it? :) -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.