title: Changing a QuerySet object on the fly in Django
body: <p>Can or should I ever do this in a view?</p>
  
  <pre><code>a = SomeTable.objects.all()
  for r in a:
      if r.some_column == 'foo':
          r.some_column = 'bar'
  </code></pre>
  
  <p>It worked like a champ, but I tried a similar thing somewhere else and I was getting strange results, implying that QuerySet objects don't like to be trifled with.  And, I didn't see anything in the docs good or bad for this sort of trick.</p>
  
  <p>I know there are other ways to do this, but I'm specifically wanting to know if this is a bad idea, why it's bad, and if it is indeed bad, what the 'best' most django/pythonic way to change values on the fly would be. </p>