Skip to content

Commit

Permalink
small reduction of DB queries
Browse files Browse the repository at this point in the history
  • Loading branch information
jrief committed Apr 23, 2024
1 parent c436cf4 commit e6890d7
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions cms/models/pagemodel.py
Expand Up @@ -197,6 +197,7 @@ def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.urls_cache = {}
self.page_content_cache = {}
self.fallback_languages_cache = {}

def __str__(self):
try:
Expand Down Expand Up @@ -762,7 +763,11 @@ def update_urls(self, language=None, **data):
return page_urls.update(**data)

def get_fallbacks(self, language):
return i18n.get_fallback_languages(language, site_id=self.node.site_id)
fallbacks = self.fallback_languages_cache.get(language)
if fallbacks is None:
fallbacks = i18n.get_fallback_languages(language, site_id=self.node.site_id)
self.fallback_languages_cache[language] = fallbacks
return fallbacks

# ## PageContent object access

Expand Down Expand Up @@ -801,7 +806,7 @@ def get_path(self, language, fallback=True):

if language not in self.urls_cache:
self.urls_cache.update({
url.language: url for url in self.urls.filter(language__in=languages) # TODO: overwrites multiple urls
url.language: url for url in self.urls.all() if url.language in languages # TODO: overwrites multiple urls
})

for _language in languages:
Expand Down

0 comments on commit e6890d7

Please sign in to comment.