mirror of
https://github.com/Hopiu/django-model-utils.git
synced 2026-03-16 20:00:23 +00:00
fix model.save patched in FieldTracker (#353)
* fix model.save patched in FieldTracker * add test for save call with args * update changes
This commit is contained in:
parent
25743141bc
commit
6b88c888d3
4 changed files with 9 additions and 2 deletions
|
|
@ -10,6 +10,7 @@ master (unreleased)
|
|||
always be set equal to created to make querying easier. Fixes GH-254
|
||||
- Support `reversed` for all kinds of `Choices` objects, fixes GH-309
|
||||
- Fix Model instance non picklable GH-330
|
||||
- Fix patched `save` in FieldTracker
|
||||
|
||||
3.1.2 (2018.05.09)
|
||||
------------------
|
||||
|
|
|
|||
|
|
@ -236,8 +236,8 @@ class FieldTracker(object):
|
|||
def patch_save(self, model):
|
||||
original_save = model.save
|
||||
|
||||
def save(instance, **kwargs):
|
||||
ret = original_save(instance, **kwargs)
|
||||
def save(instance, *args, **kwargs):
|
||||
ret = original_save(instance, *args, **kwargs)
|
||||
update_fields = kwargs.get('update_fields')
|
||||
if not update_fields and update_fields is not None: # () or []
|
||||
fields = update_fields
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ DATABASES = {
|
|||
"NAME": os.environ.get("DJANGO_DATABASE_NAME_POSTGRES", "modelutils"),
|
||||
"USER": os.environ.get("DJANGO_DATABASE_USER_POSTGRES", 'postgres'),
|
||||
"PASSWORD": os.environ.get("DJANGO_DATABASE_PASSWORD_POSTGRES", ""),
|
||||
"HOST": os.environ.get("DJANGO_DATABASE_HOST_POSTGRES", ""),
|
||||
},
|
||||
}
|
||||
SECRET_KEY = 'dummy'
|
||||
|
|
|
|||
|
|
@ -85,6 +85,11 @@ class FieldTrackerTests(FieldTrackerTestCase, FieldTrackerCommonTests):
|
|||
self.instance.mutable = [1, 2, 3]
|
||||
self.assertHasChanged(name=True, number=True, mutable=True)
|
||||
|
||||
def test_save_with_args(self):
|
||||
self.instance.number = 1
|
||||
self.instance.save(False, False, None, None)
|
||||
self.assertChanged()
|
||||
|
||||
def test_first_save(self):
|
||||
self.assertHasChanged(name=True, number=False, mutable=False)
|
||||
self.assertPrevious(name=None, number=None, mutable=None)
|
||||
|
|
|
|||
Loading…
Reference in a new issue