Size: a a a

Django [ru] #STAY HOME

2021 April 09

DT

Dan Tyan in Django [ru] #STAY HOME
тогда никак
источник

Д

Дмитрий in Django [ru] #STAY HOME
Там каждый раз новый qs в print создается и обрабатывается
источник

АБ

Артем Бутаков... in Django [ru] #STAY HOME
да, ломится каждый раз
источник

АБ

Артем Бутаков... in Django [ru] #STAY HOME
может есть какой-то еще способ, как можно выводить посты по тегам без увеличения количества запросов в зависимости от количества полученных тегов?
источник

N

Nonverbis in Django [ru] #STAY HOME
А чего запросы разные? Если бы вот так в цикле, как вы написали, запросы были бы одинаковые.
источник

Д

Дмитрий in Django [ru] #STAY HOME
Там как-то можно group by через annotate и values сделать, или как-то так
источник

V💊

Vladimir 💉 💊 Voytenk... in Django [ru] #STAY HOME
очень странная хотелка, а задача вообще какая?
источник

АБ

Артем Бутаков... in Django [ru] #STAY HOME
у меня панель с вкладками, каждая вкладка - тег. нажимаешь на тег, и показывает самые популярные посты по этому тегу
источник

АБ

Артем Бутаков... in Django [ru] #STAY HOME
источник

V💊

Vladimir 💉 💊 Voytenk... in Django [ru] #STAY HOME
ну так тут же тогда один запрос на плучение тэгов, и по одному запросу на получение статей по тегу
источник

АБ

Артем Бутаков... in Django [ru] #STAY HOME
так тогда на каждый тег получается отдельный запрос. я думал, что можно из уже готового кверисета постов выбрать только нужные
источник

V💊

Vladimir 💉 💊 Voytenk... in Django [ru] #STAY HOME
но это норм поведение
источник

V💊

Vladimir 💉 💊 Voytenk... in Django [ru] #STAY HOME
имхо получить все статьи сгруппированые по тэгам - хуже, чем получать только статьи с определенным тэгом
источник

АБ

Артем Бутаков... in Django [ru] #STAY HOME
поведение то норм, но должен же быть какой-то способ сразу получить все данные, а уже потом с ними работать?
источник

N

Nonverbis in Django [ru] #STAY HOME
Ну, не твиттер же у вас. Достали все, закешировали. А дальше анализировать в цикле. Ну, допустим, 100 тегов у вас. Это для компьютера ничто. Особенно если вы еще раз это все кешем накроете. Вообще ничего не будет стоить. А в базу лазить - один раз, да и то при разогреве кеша.
источник

Д

Дмитрий in Django [ru] #STAY HOME
Можно через itertools.groupby, но это еще больше времени занять может
источник

АБ

Артем Бутаков... in Django [ru] #STAY HOME
в общем, только кэшем, видимо. ладно, всем спасибо!
источник

Aツ

Anton ツ Centrino in Django [ru] #STAY HOME
подскажите, как в DRF лучше сделать Proxy метод для поля?

У модели поле DateTime. Но сериализатор должен отдавать UnixTime и принимать UnixTime.
То есть нужно будет конвертировать и при GET и при POST
источник

DT

Dan Tyan in Django [ru] #STAY HOME
создаешь класс поля
назначаешь на твое поле
в нем определяешь два метода
to_internal_value
to_representation
источник

Aツ

Anton ツ Centrino in Django [ru] #STAY HOME
спасибо, попробую
from rest_framework.fields import Field

class MyCustomDateField(Field):
источник