@@ -494,6 +494,10 @@ def prepared(self, prepare_params=None):
494494
495495 :param prepare_params: prepare params with project, filters, orderings, etc
496496 :return: ordered and filtered queryset
497+
498+ Note: For multi-project queries, filters and ordering will use the first project's
499+ configuration (label config, custom fields, etc.). This is backwards compatible
500+ with single-project queries.
497501 """
498502 from projects .models import Project
499503
@@ -502,7 +506,14 @@ def prepared(self, prepare_params=None):
502506 if prepare_params is None :
503507 return queryset
504508
505- project = Project .objects .get (pk = prepare_params .project )
509+ # Get the project for filter/ordering configuration
510+ # For multi-project queries, use the first project's configuration
511+ if prepare_params .is_multi_project :
512+ project = Project .objects .get (pk = prepare_params .projects [0 ])
513+ else :
514+ # Backwards compatible: prepare_params.project is an int
515+ project = Project .objects .get (pk = prepare_params .project )
516+
506517 request = prepare_params .request
507518 queryset = apply_filters (queryset , prepare_params .filters , project , request )
508519 queryset = apply_ordering (queryset , prepare_params .ordering , project , request , view_data = prepare_params .data )
@@ -774,7 +785,11 @@ def get_queryset(
774785
775786 def only_filtered (self , prepare_params = None ):
776787 request = prepare_params .request
777- queryset = TaskQuerySet (self .model ).filter (project = prepare_params .project )
788+ # Support both single and multiple projects
789+ if prepare_params .is_multi_project :
790+ queryset = TaskQuerySet (self .model ).filter (project__in = prepare_params .projects )
791+ else :
792+ queryset = TaskQuerySet (self .model ).filter (project = prepare_params .project )
778793 fields_for_filter_ordering = get_fields_for_filter_ordering (prepare_params )
779794 queryset = self .annotate_queryset (queryset , fields_for_evaluation = fields_for_filter_ordering , request = request )
780795 return queryset .prepared (prepare_params = prepare_params )
0 commit comments