Оптимизация?
This commit is contained in:
@@ -2,6 +2,7 @@ from django.shortcuts import render
|
||||
from django.core.paginator import Paginator
|
||||
from django.core.cache import cache
|
||||
from .models import manga_collection
|
||||
import hashlib
|
||||
|
||||
|
||||
def manga_catalog(request):
|
||||
@@ -16,12 +17,30 @@ def manga_catalog(request):
|
||||
|
||||
# Получаем выбранные теги
|
||||
selected_tags = request.GET.getlist('tags')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
query = {}
|
||||
|
||||
query_key = hashlib.md5(str(query).encode()).hexdigest()
|
||||
cache_key = f"count_{query_key}"
|
||||
total_filtered = cache.get(cache_key)
|
||||
|
||||
if total_filtered is None:
|
||||
total_filtered = manga_collection.count_documents(query)
|
||||
cache.set(cache_key, total_filtered, 60) # на 1 минуту
|
||||
|
||||
|
||||
|
||||
""" query = {}
|
||||
if selected_tags:
|
||||
query['tags'] = {'$all': selected_tags}
|
||||
|
||||
# Считаем количество для пагинации (можно тоже кешировать по хешу, но пока так)
|
||||
total_filtered = manga_collection.count_documents(query)
|
||||
total_filtered = manga_collection.count_documents(query)"""
|
||||
|
||||
# Получаем номер страницы
|
||||
page_number = request.GET.get('page') or 1
|
||||
|
||||
Reference in New Issue
Block a user