Fix unnecessary log when adding already existed m2m record (#535)

This commit is contained in:
Fırat Kılıç 2023-06-21 17:25:29 +03:00 committed by Ilya
parent a5f54d09df
commit 188337b465
2 changed files with 19 additions and 1 deletions

View file

@ -86,7 +86,7 @@ class LogEntryManager(models.Manager):
from auditlog.cid import get_cid
pk = self._get_pk_value(instance)
if changed_queryset is not None:
if changed_queryset:
kwargs.setdefault(
"content_type", ContentType.objects.get_for_model(instance)
)

View file

@ -415,6 +415,24 @@ class ManyRelatedModelTest(TestCase):
},
)
def test_adding_existing_related_obj(self):
self.obj.related.add(self.related)
log_entry = self.obj.history.first()
self.assertEqual(
log_entry.changes,
{
"related": {
"type": "m2m",
"operation": "add",
"objects": [smart_str(self.related)],
}
},
)
# Add same related obj again.
self.obj.related.add(self.related)
latest_log_entry = self.obj.history.first()
self.assertEqual(log_entry.id, latest_log_entry.id)
class MiddlewareTest(TestCase):
"""