I meant changing the signature in the code which would require a special handling of `None` (to cast it to `{}`). That would be self documenting and also enable IDEs to autocomplete the `defaults` argument.

For the docs, what about:
A convenience method for updating an object that matches the given `kwargs` (with the exception of a `kwarg` named `defaults`), creating a new one if necessary. The optional `kwarg` named `defaults` is an dictionary of (field, value) pairs used to update the object.