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 updated = False
if not created: if not created:
for k, v in defaults.items(): if defaults:
if getattr(obj, k) != v: for k, v in defaults.items():
setattr(obj, k, v) if getattr(obj, k) != v:
updated = True setattr(obj, k, v)
updated = True
if updated and save: if updated and save:
obj.save() obj.save()