SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit e0903c59 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Add some prefetching for organizations

parent 9167a347
No related branches found
No related tags found
No related merge requests found
...@@ -322,7 +322,13 @@ class Organization(models.Model): ...@@ -322,7 +322,13 @@ class Organization(models.Model):
rep[str(year)] = {} rep[str(year)] = {}
year_expenditures = 0 year_expenditures = 0
rep[str(year)]["expenditures"] = {} rep[str(year)]["expenditures"] = {}
pfy = self.pubfractions.filter(publication__publication_date__year=year) pfy = self.pubfractions.filter(
publication__publication_date__year=year
).prefetch_related(
"publication__in_journal",
"publication__in_issue__in_journal",
"publication__in_issue__in_volume__in_journal",
)
contribution = self.total_subsidies_in_year(year) contribution = self.total_subsidies_in_year(year)
rep[str(year)]["contribution"] = contribution rep[str(year)]["contribution"] = contribution
journal_labels = set( journal_labels = set(
......
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
{% endfor %} {% endfor %}
<img class="rounded" style="max-height: 8rem; max-width: 16rem;" <img class="rounded" style="max-height: 8rem; max-width: 16rem;"
src="{{ org.logo.url }}" alt="{{ org.name }} logo"> src="{{ org.logo.url }}" alt="{{ org.name }} logo">
</picture>
</li> </li>
{% elif org.logo %} {% elif org.logo %}
<img class="d-flex me-3 {{ org.css_class }}" src="{{ org.logo.url }}" alt="image"/> <img class="d-flex me-3 {{ org.css_class }}" src="{{ org.logo.url }}" alt="image"/>
......
...@@ -166,7 +166,7 @@ class OrganizationListView(PaginationMixin, ListView): ...@@ -166,7 +166,7 @@ class OrganizationListView(PaginationMixin, ListView):
) )
if ordering == "desc": if ordering == "desc":
qs = qs.reverse() qs = qs.reverse()
return qs return qs.select_related('logos')
def get_organization_detail(request): def get_organization_detail(request):
...@@ -194,7 +194,13 @@ class OrganizationDetailView(DetailView): ...@@ -194,7 +194,13 @@ class OrganizationDetailView(DetailView):
queryset = super().get_queryset() queryset = super().get_queryset()
if not self.request.user.has_perm("scipost.can_manage_organizations"): if not self.request.user.has_perm("scipost.can_manage_organizations"):
queryset = queryset.exclude(orgtype=ORGTYPE_PRIVATE_BENEFACTOR) queryset = queryset.exclude(orgtype=ORGTYPE_PRIVATE_BENEFACTOR)
return queryset return queryset.prefetch_related(
"children",
"subsidy_set",
"contactrole_set",
"organizationevent_set",
"pubfractions",
)
class OrganizationEventCreateView(PermissionsMixin, CreateView): class OrganizationEventCreateView(PermissionsMixin, CreateView):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment