diff --git a/src/backend/InvenTree/build/api.py b/src/backend/InvenTree/build/api.py index 5e1901f58a..6ecb34b222 100644 --- a/src/backend/InvenTree/build/api.py +++ b/src/backend/InvenTree/build/api.py @@ -317,14 +317,15 @@ class BuildMixin: """Return the queryset for the Build API endpoints.""" queryset = super().get_queryset() + queryset = build.serializers.BuildSerializer.annotate_queryset(queryset) + queryset = queryset.prefetch_related( 'responsible', 'issued_by', 'build_lines', - 'build_lines__bom_item', - 'build_lines__build', 'part', 'part__pricing_data', + 'project_code', ) return queryset @@ -384,14 +385,6 @@ class BuildList( 'priority', ] - def get_queryset(self): - """Override the queryset filtering, as some of the fields don't natively play nicely with DRF.""" - queryset = super().get_queryset().select_related('part') - - queryset = build.serializers.BuildSerializer.annotate_queryset(queryset) - - return queryset - def get_serializer(self, *args, **kwargs): """Add extra context information to the endpoint serializer.""" kwargs['create'] = True diff --git a/src/backend/InvenTree/build/serializers.py b/src/backend/InvenTree/build/serializers.py index cdef3a31ed..9d7f80b9e1 100644 --- a/src/backend/InvenTree/build/serializers.py +++ b/src/backend/InvenTree/build/serializers.py @@ -192,6 +192,8 @@ class BuildSerializer( ) ) + queryset = Build.annotate_parameters(queryset) + return queryset def __init__(self, *args, **kwargs):