def change(self, **changed_fields): """ Changes a given `changed_fields` on this object and returns itself. :param changed_fields: fields to change :return: self """ change(self, **changed_fields) return self
def test_change(self): obj = ShortcutsModel.objects.create(name='test1', datetime=timezone.now(), number=1) change(obj, name='modified') assert_equal(obj.name, 'modified') assert_equal(ShortcutsModel.objects.first().name, 'test1') # instance is changed but NOT saved to DB