summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
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 453e65cf01..57122dac35 100644
--- a/django/contrib/admin/models.py
+++ b/django/contrib/admin/models.py
@@ -24,7 +24,9 @@ ACTION_FLAG_CHOICES = [
class LogEntryManager(models.Manager):
use_in_migrations = True
- 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
+ ):
if isinstance(change_message, list):
change_message = json.dumps(change_message)
@@ -45,7 +47,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 090b12151a..3c2cf9d130 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -946,6 +946,7 @@ class ModelAdmin(BaseModelAdmin):
queryset=[obj],
action_flag=ADDITION,
change_message=message,
+ single_object=True,
)
def log_change(self, request, obj, message):
@@ -961,6 +962,7 @@ class ModelAdmin(BaseModelAdmin):
queryset=[obj],
action_flag=CHANGE,
change_message=message,
+ single_object=True,
)
def log_deletions(self, request, queryset):