title: Way to bulk update (with unique values) in Django
body: <p>Let's say I have a list of dicts with emails and birthdays:</p>
  
  <pre><code>p = [\
      {'email': 'someone@somewhere.com', 'birthday': '1990-01-01'},
      {'email': 'someone_else@somewhereelse.com', 'birthday': '1980-02-05'},
      #...etc
  ]
  </code></pre>
  
  <p>I want to update the <code>People</code> objects in the database. The raw sql would normally have as many queries as <code>len(p)</code>, so this makes me think of doing:</p>
  
  <pre><code>from django.db import IntegrityError, transaction
  for person in p:
      try:
          with transaction.atomic():
              People.objects.filter(email=person['email']).update(birthday=person['birthday'])
      except IntegrityError:
          #handle the exception
  </code></pre>
  
  <p>I'm not experienced enough in Django to know if this is good practice though. What's the most pythonic way to express what I'm trying to do?</p>