diff --git a/src/backend/InvenTree/order/api.py b/src/backend/InvenTree/order/api.py index e9111f3284..fc4bb4763c 100644 --- a/src/backend/InvenTree/order/api.py +++ b/src/backend/InvenTree/order/api.py @@ -82,8 +82,14 @@ class OrderFilter(rest_filters.FilterSet): status = rest_filters.NumberFilter(label=_('Order Status'), method='filter_status') def filter_status(self, queryset, name, value): - """Filter by integer status code.""" - return queryset.filter(status=value) + """Filter by integer status code. + + Note: Also account for the possibility of a custom status code. + """ + q1 = Q(status=value, status_custom_key__isnull=True) + q2 = Q(status_custom_key=value) + + return queryset.filter(q1 | q2).distinct() # Exact match for reference reference = rest_filters.CharFilter( diff --git a/src/backend/InvenTree/stock/api.py b/src/backend/InvenTree/stock/api.py index d968bec97c..9e0d23b560 100644 --- a/src/backend/InvenTree/stock/api.py +++ b/src/backend/InvenTree/stock/api.py @@ -571,7 +571,10 @@ class StockFilter(rest_filters.FilterSet): status = rest_filters.NumberFilter(label=_('Status Code'), method='filter_status') def filter_status(self, queryset, name, value): - """Filter by integer status code.""" + """Filter by integer status code. + + Note: Also account for the possibility of a custom status code. + """ q1 = Q(status=value, status_custom_key__isnull=True) q2 = Q(status_custom_key=value)