Size: a a a

Django [ru] #STAY HOME

2020 October 21

J

Jack in Django [ru] #STAY HOME
источник

J

Jack in Django [ru] #STAY HOME
источник

DT

Denis Taranov in Django [ru] #STAY HOME
модели Job и Vorstand
источник

DT

Denis Taranov in Django [ru] #STAY HOME
default='' убери потом, но к делу это не относится
источник

AI

Anton Igin in Django [ru] #STAY HOME
Всем привет, нужен совет
Есть запрос выдачи категорй и продуктов, который возвращает разного рода сортировки - по рейтингу авторов, по рейтингу продуктов, последние обновленные и так далее. Каждая из них подготавливается к выдаче в таком
            data = {}
           for category in Category.objects.all():
               courses = cls.get_public_qs().filter(category=category, **qs_kwargs).order_by(sorting)[:max_values]
               data[category] = courses

По итогу пачка таких работ выливается в 5-7 секунд при нулевой нагрузке.
Как этого избежать?
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Anton Igin
Всем привет, нужен совет
Есть запрос выдачи категорй и продуктов, который возвращает разного рода сортировки - по рейтингу авторов, по рейтингу продуктов, последние обновленные и так далее. Каждая из них подготавливается к выдаче в таком
            data = {}
           for category in Category.objects.all():
               courses = cls.get_public_qs().filter(category=category, **qs_kwargs).order_by(sorting)[:max_values]
               data[category] = courses

По итогу пачка таких работ выливается в 5-7 секунд при нулевой нагрузке.
Как этого избежать?
использовать в качестве структуры категорий mptt дерево (основанное на модели nested sets)
источник

S

Stanley in Django [ru] #STAY HOME
qwerty
Какую ещё выборку?
У тебя написано: удалить из таблицы строки где mapping_id входит в ВЫБРАТЬ(select) из таблицы(тойже) где парентИд=PARENT_ID и чилдИд=CHILD_ID, вообще видимо запрос построен автоматом и неграмотно походу 🤔
источник

AI

Anton Igin in Django [ru] #STAY HOME
Denis Taranov
использовать в качестве структуры категорий mptt дерево (основанное на модели nested sets)
в моем случае категории не могут быть включены одна в другую, так что именно дерево мне вряд ли нужно
источник

AI

Anton Igin in Django [ru] #STAY HOME
или ты предлагаешь не отображать тогда всё сразу?
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Anton Igin
Всем привет, нужен совет
Есть запрос выдачи категорй и продуктов, который возвращает разного рода сортировки - по рейтингу авторов, по рейтингу продуктов, последние обновленные и так далее. Каждая из них подготавливается к выдаче в таком
            data = {}
           for category in Category.objects.all():
               courses = cls.get_public_qs().filter(category=category, **qs_kwargs).order_by(sorting)[:max_values]
               data[category] = courses

По итогу пачка таких работ выливается в 5-7 секунд при нулевой нагрузке.
Как этого избежать?
тогда нужно строить индексы
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Anton Igin
или ты предлагаешь не отображать тогда всё сразу?
ну вообще да, есть пагинация
источник

AI

Anton Igin in Django [ru] #STAY HOME
не, я про то, что в принципе разделить апи-запрос на запросы поменьше
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Anton Igin
Всем привет, нужен совет
Есть запрос выдачи категорй и продуктов, который возвращает разного рода сортировки - по рейтингу авторов, по рейтингу продуктов, последние обновленные и так далее. Каждая из них подготавливается к выдаче в таком
            data = {}
           for category in Category.objects.all():
               courses = cls.get_public_qs().filter(category=category, **qs_kwargs).order_by(sorting)[:max_values]
               data[category] = courses

По итогу пачка таких работ выливается в 5-7 секунд при нулевой нагрузке.
Как этого избежать?
пробовать строить запрос по другому: от другой модели, с JOIN и тд
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Anton Igin
не, я про то, что в принципе разделить апи-запрос на запросы поменьше
у тебя же и так много запросов получается. Даже prefetch_related() не прицепил)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
а почему не
data = {category: cls.get_public_qs().filter(category=category, **qs_kwargs).order_by(sorting)[:max_values]
for category in Categories.objects.all()}
?)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Nikolay Cherniy
а почему не
data = {category: cls.get_public_qs().filter(category=category, **qs_kwargs).order_by(sorting)[:max_values]
for category in Categories.objects.all()}
?)
круто, только ничего не понятно)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Artem Gubatenko
круто, только ничего не понятно)
хз, мож привык, но мне кажется читается так же как оригинал,  а место меньше занимает)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Nikolay Cherniy
хз, мож привык, но мне кажется читается так же как оригинал,  а место меньше занимает)
хорошо, что мне не приходится твой код читать 😁
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Artem Gubatenko
хорошо, что мне не приходится твой код читать 😁
источник

AI

Anton Igin in Django [ru] #STAY HOME
Artem Gubatenko
у тебя же и так много запросов получается. Даже prefetch_related() не прицепил)
типа такого?
            data = {}
           for category in Category.objects.all().prefetch_related('related_courses'):
               courses = category.related_courses.get_public_qs().filter(category=category,
                                                                         **qs_kwargs).order_by(sorting)[:max_values]
               data[category] = courses
источник