summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2025-03-12 11:05:50 +0000
committerNatalia <124304+nessita@users.noreply.github.com>2025-03-12 16:39:14 -0300
commitcfc33d146e1085909fe3c13b0fec8df955cd4272 (patch)
tree2299e5a1ab210ca196c5909ffc62ddbdc9338851 /django
parentccd5867ae6115490a92dd51eead5c2b4e5c3b83a (diff)
[5.1.x] Fixed #36234 -- Restored single_object argument to LogEntry.objects.log_actions().
Thank you Adam Johnson for the report and fix. Thank you Sarah Boyce for your spot on analysis. Regression in c09bceef68e5abb79accedd12dade16aa6577a09, which is partially reverted in this branch. Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> Backport of 27b68bcadf1ab2e9f7fd223aed42db352ccdc62d from main.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/models.py8
-rw-r--r--django/contrib/admin/options.py2
2 files changed, 8 insertions, 2 deletions
diff --git a/django/contrib/admin/models.py b/django/contrib/admin/models.py
index 345b8cf341..957c9e4877 100644
--- a/django/contrib/admin/models.py
+++ b/django/contrib/admin/models.py
@@ -51,7 +51,9 @@ class LogEntryManager(models.Manager):
change_message=change_message,
)
- def log_actions(self, user_id, queryset, action_flag, change_message=""):
+ def log_actions(
+ self, user_id, queryset, action_flag, change_message="", *, single_object=False
+ ):
# RemovedInDjango60Warning.
if type(self).log_action != LogEntryManager.log_action:
warnings.warn(
@@ -94,7 +96,9 @@ class LogEntryManager(models.Manager):
if len(log_entry_list) == 1:
instance = log_entry_list[0]
instance.save()
- return instance
+ if single_object:
+ return instance
+ return [instance]
return self.model.objects.bulk_create(log_entry_list)
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index 4df5018804..5401bcabbe 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -954,6 +954,7 @@ class ModelAdmin(BaseModelAdmin):
queryset=[obj],
action_flag=ADDITION,
change_message=message,
+ single_object=True,
)
def log_change(self, request, obj, message):
@@ -969,6 +970,7 @@ class ModelAdmin(BaseModelAdmin):
queryset=[obj],
action_flag=CHANGE,
change_message=message,
+ single_object=True,
)
def log_deletion(self, request, obj, object_repr):