.update_or_create() manager/queryset method as suggested in Django ticket #3182

See [Django #3182](https://code.djangoproject.com/ticket/3182).