Fix: Error in history view of object with forward slash in primary key #1297
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This error occurs while rendering object URL with primary key in Change History view. This line causes the issue.
I was able to fix this issue using admin_urlquote filter on object.pk. However, it breaks history form view as it receives encoded value in object id and object does not exist with this value. To fix this, I used unquote method to to convert quoted primary key back into its original form for history form view.
I also used quote method in [revert_url method] (https://github.com/jazzband/django-simple-history/blob/master/simple_history/models.py#L481) to encode objects primary key for constructing URL for history form view.
Related Issue
#1295
Motivation and Context
History view of the object with "/" in primary key is broken in admin portal.
How Has This Been Tested?
Screenshots (if appropriate):
Error Before this fix
Types of changes
Checklist:
pre-commit run
command to format and lint.AUTHORS.rst
CHANGES.rst