@@ -498,6 +498,10 @@ def prepared(self, prepare_params=None):
498498
499499 :param prepare_params: prepare params with project, filters, orderings, etc
500500 :return: ordered and filtered queryset
501+
502+ Note: For multi-project queries, filters and ordering will use the first project's
503+ configuration (label config, custom fields, etc.). This is backwards compatible
504+ with single-project queries.
501505 """
502506 from projects .models import Project
503507
@@ -506,7 +510,14 @@ def prepared(self, prepare_params=None):
506510 if prepare_params is None :
507511 return queryset
508512
509- project = Project .objects .get (pk = prepare_params .project )
513+ # Get the project for filter/ordering configuration
514+ # For multi-project queries, use the first project's configuration
515+ if prepare_params .is_multi_project :
516+ project = Project .objects .get (pk = prepare_params .projects [0 ])
517+ else :
518+ # Backwards compatible: prepare_params.project is an int
519+ project = Project .objects .get (pk = prepare_params .project )
520+
510521 request = prepare_params .request
511522 queryset = apply_filters (queryset , prepare_params .filters , project , request )
512523 queryset = apply_ordering (queryset , prepare_params .ordering , project , request , view_data = prepare_params .data )
@@ -825,7 +836,11 @@ def get_queryset(
825836
826837 def only_filtered (self , prepare_params = None ):
827838 request = prepare_params .request
828- queryset = TaskQuerySet (self .model ).filter (project = prepare_params .project )
839+ # Support both single and multiple projects
840+ if prepare_params .is_multi_project :
841+ queryset = TaskQuerySet (self .model ).filter (project__in = prepare_params .projects )
842+ else :
843+ queryset = TaskQuerySet (self .model ).filter (project = prepare_params .project )
829844 fields_for_filter_ordering = get_fields_for_filter_ordering (prepare_params )
830845 queryset = self .annotate_queryset (queryset , fields_for_evaluation = fields_for_filter_ordering , request = request )
831846 return queryset .prepared (prepare_params = prepare_params )
0 commit comments