natural-keys 1.5.1
natural-keys 1.5.1 adds a defaults keyword argument to get_or_create_by_natural_key() and find(). This is based on the similar argument for get_or_create(), and is important when you have required fields on a model that are not part of a natural key.
While get_or_create() accepts keyword arguments, get_or_create_by_natural_key() and find() use positional arguments for the natural key fields (like get_by_natural_key()), with defaults being the only keyword argument.
instance, is_new = Event.objects.get_or_create_by_natural_key(
'ABC123', date(2016, 1, 1),
defaults={
"name": "Example Event",
"public": True,
}
)