diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/models.py | 8 | ||||
| -rw-r--r-- | django/contrib/admin/options.py | 2 |
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): |
