Fix for None values in prefetch when fk_id==0 #1055
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 a bug with
prefetch_related
not actually being prefetched for entries withfk_id==0
.It happened because
getattr
returned0
which is interpreted asFalse
forif
condition check.Motivation and Context
I have a table where foreign key id = 0 is a valid value.
Somehow
prefetch_related
always setsfk_id
toNone
andfk
toNoneAwaitable
for such records.How Has This Been Tested?
My project runs on Postgres and It works well. It doesn't break anything else.
I've made a simplest test for this case.
The change doesn't affect other tests, but I only ran
make test
Checklist: