Reduce queries for supported ManyRelatedField#9211
Closed
clement-escolano wants to merge 2 commits intoencode:masterfrom
Closed
Reduce queries for supported ManyRelatedField#9211clement-escolano wants to merge 2 commits intoencode:masterfrom
clement-escolano wants to merge 2 commits intoencode:masterfrom
Conversation
Collaborator
|
tests seems to be failing after new push, can you recheck please? |
cec275d to
b72027f
Compare
Author
It should be good now. There is also some general issues to talk about in the PR description :-) |
Author
|
@auvipy What do you think about the pull request? Is there some ways I can improve it? |
Collaborator
what is the current standing of the issues now? is this backward compatible? and do you think all other related issues can be resolved in this PR? |
Author
|
I think all issues should be fixed in this pull request but I am asking for some advice on the issues because I am not sure what is the best way of solving them.
|
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
From the discussion here #8919, a related field with a
many=Truewill only execute one query for all items instead of one for every item.It currently works for:
There are currently four issues regarding this pull request:
to_many_internal_valueand only overrideto_internal_value, the overridden value won't be used (becauseto_many_internal_valuewill be use instead).to_internal_valueproperty was overwritten and raise an error / use the old behaviour in this case but I am not sure this is a good ideaPrimaryKeyRelatedField, when the type is wrong, the type of the first item is raised in the error as it is unclear how to retrieve the problematic item. Some solutions to keep the old behaviour if this is an issue:SlugRelatedField, I add to annotate the related field to detect if an item does not exist and which one. I don't know if this is acceptable or not.