fix ModelInstanceWrapper foreignkey values
This commit is contained in:
parent
4e1469c7d4
commit
66596aac63
2 changed files with 6 additions and 4 deletions
|
@ -98,7 +98,7 @@ class ChangeSet(models.Model):
|
||||||
for name, value in kwargs.items():
|
for name, value in kwargs.items():
|
||||||
setattr(change, name, value)
|
setattr(change, name, value)
|
||||||
change.save()
|
change.save()
|
||||||
# print(repr(change))
|
print(repr(change))
|
||||||
return change
|
return change
|
||||||
|
|
||||||
def add_create(self, obj, author=None):
|
def add_create(self, obj, author=None):
|
||||||
|
|
|
@ -77,7 +77,7 @@ class ModelInstanceWrapper(BaseWrapper):
|
||||||
continue
|
continue
|
||||||
self._initial_values[field] = getattr(self, field.name)
|
self._initial_values[field] = getattr(self, field.name)
|
||||||
elif (field.many_to_one or field.one_to_one) and not field.primary_key:
|
elif (field.many_to_one or field.one_to_one) and not field.primary_key:
|
||||||
self._initial_values[field] = getattr(self, field.name).pk
|
self._initial_values[field] = getattr(self, field.name)
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
if type(other) == ModelWrapper:
|
if type(other) == ModelWrapper:
|
||||||
|
@ -117,8 +117,10 @@ class ModelInstanceWrapper(BaseWrapper):
|
||||||
for field, initial_value in self._initial_values.items():
|
for field, initial_value in self._initial_values.items():
|
||||||
new_value = getattr(self._obj, field.name)
|
new_value = getattr(self._obj, field.name)
|
||||||
if field.related_model:
|
if field.related_model:
|
||||||
if new_value.pk != initial_value.pk:
|
new_pk = None if new_value is None else new_value.pk
|
||||||
self._changeset.add_update(self, name=field.name, value=new_value.pk, author=author)
|
initial_pk = None if initial_value is None else initial_value.pk
|
||||||
|
if new_pk != initial_pk:
|
||||||
|
self._changeset.add_update(self, name=field.name, value=new_pk, author=author)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if new_value == initial_value:
|
if new_value == initial_value:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue