diff --git a/indigo_api/models/tasks.py b/indigo_api/models/tasks.py index e0e40cd90..78ec82f1e 100644 --- a/indigo_api/models/tasks.py +++ b/indigo_api/models/tasks.py @@ -34,9 +34,9 @@ def get_queryset(self): from .documents import Document return super(TaskManager, self).get_queryset() \ - .select_related('created_by_user', 'updated_by_user', 'assigned_to', \ - 'submitted_by_user', 'reviewed_by_user', 'country', \ - 'country__country', 'locality') \ + .select_related('created_by_user', 'updated_by_user', 'assigned_to', + 'submitted_by_user', 'reviewed_by_user', 'country', + 'country__country', 'locality', 'locality__country', 'locality__country__country') \ .prefetch_related(Prefetch('work', queryset=Work.objects.filter())) \ .prefetch_related(Prefetch('document', queryset=Document.objects.no_xml())) \ .prefetch_related('labels') diff --git a/indigo_app/forms.py b/indigo_app/forms.py index 25a372334..ff54ab993 100644 --- a/indigo_app/forms.py +++ b/indigo_app/forms.py @@ -366,7 +366,7 @@ class TaskFilterForm(forms.Form): assigned_to = forms.ModelMultipleChoiceField(queryset=User.objects) submitted_by = forms.ModelMultipleChoiceField(queryset=User.objects) type = forms.MultipleChoiceField(choices=Task.CODES) - country = forms.ModelMultipleChoiceField(queryset=Country.objects) + country = forms.ModelMultipleChoiceField(queryset=Country.objects.select_related('country')) taxonomy_topic = forms.CharField() def __init__(self, country, *args, **kwargs): diff --git a/indigo_app/views/tasks.py b/indigo_app/views/tasks.py index d7aea10d9..17bfc04d6 100644 --- a/indigo_app/views/tasks.py +++ b/indigo_app/views/tasks.py @@ -561,6 +561,7 @@ def get(self, request, *args, **kwargs): def get_queryset(self): tasks = Task.objects \ .filter(assigned_to=None, country__in=self.request.user.editor.permitted_countries.all())\ + .select_related('document__language', 'document__language__language') \ .defer('document__document_xml')\ .order_by('-updated_at')