Django: fix create_or_update with no defaults.

This commit is contained in:
Romain Dorgueil
2017-12-13 09:27:45 +01:00
parent 99c4745b4e
commit 5363a5b004

View File

@ -12,10 +12,11 @@ def create_or_update(model, *, defaults=None, save=True, **kwargs):
updated = False
if not created:
for k, v in defaults.items():
if getattr(obj, k) != v:
setattr(obj, k, v)
updated = True
if defaults:
for k, v in defaults.items():
if getattr(obj, k) != v:
setattr(obj, k, v)
updated = True
if updated and save:
obj.save()