Size: a a a

Django [ru] #STAY HOME

2020 August 12

AD

Alex Dem in Django [ru] #STAY HOME
Nikolay Cherniy
Где почитать?)
Пока чуть-чуть еще не дописал :)

Но на самом деле, это будет прикладная статейка о базовых операциях: select_related(), prefetch_related(), Prefetch(), .only()
Я в ней создаю заведомо "кривой" view и по ходу дела показываю пути оптимизации.
Ну и про любимый django-silk не забыл :)

Я к чему - я очень сомневаюсь, что она может быть чем-то интересна опытным разработчикам, там изложены самые азы оптимизации ОРМ-запросов.
Но очень благодарю за интерес, когда ее опубликуют с удовольствием поделюсь :)
источник

AD

Alex Dem in Django [ru] #STAY HOME
Nire
Орм не виноват, что мы криво пишем запросы
абсолютно согласен
источник

e

e\/gen in Django [ru] #STAY HOME
Jon Snow
Я просто не совсем согласен с утверждением что без орм Джанго бесполезный ошмёток. Любой Фреймворк это в первую очередь про автоматизацию, оптимизацию каких то вещей, упрощение разработки, а то, как этот Фреймворк работает с бд относительно все равно, главное, чтобы интерфейс был удобный для этого и работало хорошо.

Я бы понял, если бы орм ускоряла запросы в десятки раз по времени или писала запросы за тебя и кофе приносила в это время. Тогда бы я согласился, что без орм это ошмёток.
орм таки берёт на себя часть генерации запросов к базе
источник

EC

Elias Cooper in Django [ru] #STAY HOME
привет

подскажите как реализовать в Джанго админке:

есть таблица заказов, в ней хранится значение "стоимость" и ФК на юзера
нужно сделать фильтр , который покажет какой юзер сделал заказов на cумму от N  и выше, подскажите как построить запрос чтобы по минимуму нагружать
источник

N

Nire in Django [ru] #STAY HOME
Elias Cooper
привет

подскажите как реализовать в Джанго админке:

есть таблица заказов, в ней хранится значение "стоимость" и ФК на юзера
нужно сделать фильтр , который покажет какой юзер сделал заказов на cумму от N  и выше, подскажите как построить запрос чтобы по минимуму нагружать
Непонятно, что хочешь?
источник

N

Nire in Django [ru] #STAY HOME
Попробуй переформулировать
источник

EC

Elias Cooper in Django [ru] #STAY HOME
Nire
Непонятно, что хочешь?
отфильтровать юзеров, которые сделали заказов >= N денег
источник

К-

Кутман - in Django [ru] #STAY HOME
в notification в обьект click_action что можно передать , если я работаю с рестом
источник

N

Nire in Django [ru] #STAY HOME
Elias Cooper
отфильтровать юзеров, которые сделали заказов >= N денег
А шо получить в итоге надо?
источник

EC

Elias Cooper in Django [ru] #STAY HOME
юзеров
источник

EC

Elias Cooper in Django [ru] #STAY HOME
queryset
источник

К-

Кутман - in Django [ru] #STAY HOME
Кутман -
в notification в обьект click_action что можно передать , если я работаю с рестом
видел что там передают название шаблона, а в случае рестом как надо будет
источник

N

Nire in Django [ru] #STAY HOME
Elias Cooper
отфильтровать юзеров, которые сделали заказов >= N денег
sum__gt?
источник

N

Nire in Django [ru] #STAY HOME
Elias Cooper
queryset
источник

EC

Elias Cooper in Django [ru] #STAY HOME
Nire
sum__gt?
по ФК

Order(model):
-amount
-user

User(model):
pass

грубо говоря:

UserAmountFilter(filter):

def queryset(self, request, queryset):
   orders = Order.objects.filter(???) # лупить всех юзеров ???? не вариант
   return queryset.filter(???) # ???

UserAdmin(modelAdmin):
  list_filter = (UserAmountFilter, )
источник

N

Nire in Django [ru] #STAY HOME
Ты хочешь отфильтровать в админке юзеров по сумме заказов в их корзине?
источник

EC

Elias Cooper in Django [ru] #STAY HOME
я хочу выбрать только тех у которых сумма всех ордеров >= 50k например
источник

EC

Elias Cooper in Django [ru] #STAY HOME
в адиминке через фильтр да
источник

N

Nire in Django [ru] #STAY HOME
Я недавно вроде кидал смежный вопрос, как кверисеты в админке фильтровать. А вот фильтр отображение надо кастомный написать
источник

N

Nire in Django [ru] #STAY HOME
Вот ответ
источник