[Django Upgrade] [ ENG-3948] Fix Draft Registration Serializer #10058
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.
Purpose
Replaces #10034
Reference PR: #10057
Changes
Fixes for DRF MRO
For details of the DRF MRO change, refer to this issue and PR for DRF.
DraftRegistrationDetailSerializer
inherits fromDraftRegistrationSerializer
andDraftRegistrationDetailLegacySerializer)
. Both of them define (or further inherits)registration_schema = RegistrationSchemaRelationshipField(...)
with different params. The former inherits fromDraftRegistrationLegacySerializer
whererequired=True
andread_only=False
. The latter uses the default (bothFalse
). The DRF MRO upgrade led toDraftRegistrationDetailSerializer
picking the wrongregistration_schema
to inherit and thus the fix is to define it here with the correct params.Similarly,
id = IDField(...)
needs to be defined the same way since parents/grandparents have different definitions of the same field (eg.id = IDField(source='_id', required=True)
vsid = IDField(source='_id', read_only=True)
. As expected, the wrong one is inherited after the DRF upgrade and the fix is to define it here.Other fixes
.get_node()
is not available from `self.context.get['view']QA Notes
Documentation
Side Effects
Ticket