update implementation of TimeStampedModel.save to handle various ways of specifying 'update_fields'

This commit is contained in:
Arseniy Panfilov 2020-09-30 21:31:24 -04:00 committed by Asif Saif Uddin
parent fdd3af34d9
commit e9c45c71d1

View file

@ -34,8 +34,12 @@ class TimeStampedModel(models.Model):
modified field is updated even if it is not given as
a parameter to the update field argument.
"""
if 'update_fields' in kwargs and 'modified' not in kwargs['update_fields']:
kwargs['update_fields'] += ['modified']
update_fields = kwargs.get('update_fields', None)
if update_fields is not None:
update_fields = set(update_fields)
if update_fields:
kwargs['update_fields'] = update_fields.union({'modified'})
super().save(*args, **kwargs)
class Meta: