Prevent Django ManyToManyField from being imported through sortedm2m #93
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.
At my workplace, we recently uncovered a bug (in our codebase) where we had defined a field in
models.py
as aSortedManyToManyField
but created it in the migration as aManyToManyField
(i.e. an unsorteddjango.db.models.fields.related.ManyToManyField
), which was inadvertently imported throughsortedm2m
with the following statement:from sortedm2m.fields import ManyToManyField
The author clearly meant to use a
SortedManyToManyField
in the migration - since that would match the model field, and they were importing fromsortedm2m
- but through IDE autocomplete or simple human error, they imported theManyToManyField
.This small change would prevent others making the same error.