Force fields.Undefined to be a singleton object #1981
Merged
+41
−2
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.
Change Summary
In various places of the code, we compare directly to
fields.Undefinedsince we assume it to be constant.
When new models get created however, the object is deepcopied and
is no longer identical with the original object.
We therefore add
__copy__and__deepcopy__methods to ensurethat the copied objects are actually the same original object.
Related issue number
While I did does not address the exact error message #1578 had, schema generation on inherited generics that had required generic fields did not work at all, so it might also fix this.
Checklist
changes/<pull request or issue id>-<github username>.mdfile added describing change(see changes/README.md for details)