title: Django Test - I can't save my object when I use queryset to get it
body: <p>I have an model, let's say something like:</p>
  
  <pre><code>class Invoice(models.Model):
      client_name = models.CharField(max_length=100)
  </code></pre>
  
  <p>And I have a file that looks like:</p>
  
  <pre><code>def foo_1():
      for inv in Invoice.objects.all():
          inv.client_name = "Joe"
          inv.save()
  
  def foo_2(inv):
      inv.client_name = "Joe"
      inv.save()
  </code></pre>
  
  <p>My issue occurred when I test it:</p>
  
  <pre><code>class FooCase(TestCase):
      def test_foo(self):
          inv = Invoice("Jack")
  
          print inv.client_name    # output Jack, OK
          foo_1()
          print inv.client_name    # output Jack, KO !
          print inv.client_name    # output Jack, OK
          foo_2(inv)
          print inv.client_name    # output Joe, OK
  </code></pre>
  
  <p>I don't understand why there is two differents behaviour :(</p>
  
  <p>I added a modification date to my model, and try to output it in <code>foo_1</code> before and after the loop <code>for</code>, the <code>save</code> seems to work properly, but it is like the object is different...</p>
  
  <p>I don't know if that can help but I also output <code>vars(invoice)</code> from <code>test_foo</code> and then from <code>foo_1()</code> and finally from <code>foo_2()</code>. The state was the same in <code>test_foo</code> and <code>foo_2()</code> (<code>&lt;django.db.models.base.ModelState object at 0x32ca090&gt;</code>), but not in <code>foo_1()</code> (<code>&lt;django.db.models.base.ModelState object at 0x32cc650&gt;</code>)</p>