Correct ConcurrencyManager's recovery after error

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


Navi (deprecated)


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.