[BUGFIX] GameContentSerializer now inherits from ModelSerializer#899
Open
calumbell wants to merge 4 commits intoopen5e:stagingfrom
Open
[BUGFIX] GameContentSerializer now inherits from ModelSerializer#899calumbell wants to merge 4 commits intoopen5e:stagingfrom
GameContentSerializer now inherits from ModelSerializer#899calumbell wants to merge 4 commits intoopen5e:stagingfrom
Conversation
Contributor
Author
|
Closing and re-opening to re-run PR validation |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 PR fixes an issue where unnecessary URLs were being generated for some of our find many endpoints (ie. fetching 50 Creatures caused about 600 calls to
url()according tocProfile) taking up a significant amount of server time.The issue was there
GameContentSerializer, the abstract class inherited by the vast majority of our Serializers, inherited from theHyperlinkedModelSerializer, which always generates a URL when it is called, whether or not the serializer even returns a URL, or if it makes sense for it to!The fix involved the following steps:
HyperlinkedModelSerializerwithModelSerializerinGameContentSerializer's inheritance chain"url"from the"fields"array in serializers that inherit fromGameContentSerializer."url"field from many serializersRelated Issue
Closes #896
How was this tested?
pytest(all tests passing, once cases updated to reflect new shape of API response)