mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 12:32:15 +02:00
bitbake: toaster: insure _get_query returns distinct records
The '_get_query' can return duplicate records if a search term appears multiple times in the same row, so the queryset must be made distinct before returning. This commit also removes the initial special case for configvars in favor of this general solution. [YOCTO #6012] (Bitbake rev: d21b64bad8a6a5e23eab552868d555f6e004f4c7) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
056fbc47c7
commit
7643ba3ea1
@@ -192,7 +192,8 @@ def _get_queryset(model, queryset, filter_string, search_term, ordering_string):
|
||||
else:
|
||||
queryset = queryset.order_by(column)
|
||||
|
||||
return queryset
|
||||
# insure only distinct records (e.g. from multiple search hits) are returned
|
||||
return queryset.distinct()
|
||||
|
||||
# shows the "all builds" page
|
||||
def builds(request):
|
||||
@@ -1060,10 +1061,8 @@ def configvars(request, build_id):
|
||||
return _redirect_parameters( 'configvars', request.GET, mandatory_parameters, build_id = build_id)
|
||||
|
||||
queryset = Variable.objects.filter(build=build_id).exclude(variable_name__istartswith='B_').exclude(variable_name__istartswith='do_')
|
||||
queryset_with_search = _get_queryset(Variable, queryset, None, search_term, ordering_string).distinct().exclude(variable_value='',vhistory__file_name__isnull=True)
|
||||
queryset_with_search = _get_queryset(Variable, queryset, None, search_term, ordering_string).exclude(variable_value='',vhistory__file_name__isnull=True)
|
||||
queryset = _get_queryset(Variable, queryset, filter_string, search_term, ordering_string)
|
||||
# remove duplicate records from multiple search hits in the VariableHistory table
|
||||
queryset = queryset.distinct()
|
||||
# remove records where the value is empty AND there are no history files
|
||||
queryset = queryset.exclude(variable_value='',vhistory__file_name__isnull=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user