Fixes #20776: Address review feedback on bulk rename changelog

- Add explanatory comment on base_fields.pop() safety
- Add skipTest guard for models without ChangeLoggingMixin
This commit is contained in:
Jason Novinger
2026-05-05 12:58:18 -05:00
parent 063bad07cb
commit 5e2dbde0fb
2 changed files with 4 additions and 1 deletions

View File

@@ -891,7 +891,8 @@ class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView):
self.form = _Form self.form = _Form
# Remove changelog_message field if model doesn't support change logging # Remove changelog_message field if model doesn't support change logging.
# Mutating base_fields is safe here because _Form is created fresh per request above.
if not issubclass(self.queryset.model, ChangeLoggingMixin): if not issubclass(self.queryset.model, ChangeLoggingMixin):
self.form.base_fields.pop('changelog_message', None) self.form.base_fields.pop('changelog_message', None)

View File

@@ -1051,6 +1051,8 @@ class ViewTestCases:
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) @override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
def test_bulk_rename_objects_with_changelog_message(self): def test_bulk_rename_objects_with_changelog_message(self):
if not issubclass(self.model, ChangeLoggingMixin):
self.skipTest("Model does not support change logging")
objects = self._get_queryset().all()[:3] objects = self._get_queryset().all()[:3]
pk_list = [obj.pk for obj in objects] pk_list = [obj.pk for obj in objects]
data = { data = {