Fix bug in nb_lookup if api_filter contains multiple id
#1042
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.
Related Issue
New Behavior
In the
nb_lookupplugin, when supplying multipleidfields to theapi_filterparameter, it will return a list of items.Contrast to Current Behavior
In the
nb_lookupplugin, if we provide anapi_filtercontaining theidfield, it will use.get()instead of.filter(), thus returning the item instead of a list. See PR #376 for more information.This is fine if you supply only one id. But let's say you want to get a list of items by ids?
For example:
id=1 id=5I would expect to get a list of 2 items. But at the moment, it will return the first item only.
This change adds a simple check to see if we're supplying multiple ids.
Discussion: Benefits and Drawbacks
This fixes a bug where supplying multiple ids in the
api_filterends up returning only one item.In fact, I'd even expect that supplying a single id would return a list of one item, since we're querying a collection. So maybe a
many=True|Falseparameter would be better?This bugfix as it is is backward-compatible.
Double Check
develbranch.