Correct ConcurrencyManager's recovery after error

Review Request #217 — Created Feb. 5, 2008 and submitted

Information

Navi (deprecated)
trunk

Reviewers

ConcurrencyManager.get_or_create() tries to solve a db-race condition.  There's a slight bug when this race does occur though, because calling get() should not include the 'defaults' anymore.  This leads to the message "Cannot resolve keyword 'defaults' into field" dumped over JSON.

See django.db.models.query._QuerySet.get_or_create() for the example that inspired this fix.
It's hard to be sure with race conditions, but I can't reproduce the error anymore.
david
  1. Looks good.  Committed to SVN.  Thanks!
  2.