Size: a a a

Django [ru] #STAY HOME

2020 August 09

N

Nire in Django [ru] #STAY HOME
Alex Dem
как же бесит порой телега, когда возвращает стертый текст
или стирает написанное
Люто плюсую
источник

AD

Alex Dem in Django [ru] #STAY HOME
💪😕
То есть, мне в это в цикл и запихать и фильтр к каждому применить?
загнать их в атрибуты и использовать
источник

AD

Alex Dem in Django [ru] #STAY HOME
💪😕
То есть, мне в это в цикл и запихать и фильтр к каждому применить?
есть один приммер из прода, сделанный для API model viewset
источник

AD

Alex Dem in Django [ru] #STAY HOME
могу скинуть, если надо
источник

💪

💪😕 in Django [ru] #STAY HOME
Попробую сам, вроде догнал, как надо. Спасибо БОЛЬШОЕ
источник

💪

💪😕 in Django [ru] #STAY HOME
если что, то обращусь)
источник

AD

Alex Dem in Django [ru] #STAY HOME
Рад был помочь :)
источник

💪

💪😕 in Django [ru] #STAY HOME
Родителя оберну в это и должно всё пахать, странно что я вчера намудрил так, походу спать хотел.
источник

💪

💪😕 in Django [ru] #STAY HOME
Но про фетч не знал ) спасибо!
источник

AD

Alex Dem in Django [ru] #STAY HOME
💪😕
Но про фетч не знал ) спасибо!
Я когда-то во время оптимизаций ОРМ-запросов столкнулся с этими же проблемами
Вот относительно типовая проблема, определить относится пользователь к одной из списка групп
(это делалось в сериализаторе)

staff_groups = Group.objects.filter(name__in=ERoles.staff())
Prefetch("groups", to_attr="staff_groups", queryset=staff_groups)

object.staff_groups.exists()

ОРМ совместит все группы пользователя с отфильтрованными по имени группы минуя N+1 проблему
источник

💪

💪😕 in Django [ru] #STAY HOME
Alex Dem
Я когда-то во время оптимизаций ОРМ-запросов столкнулся с этими же проблемами
Вот относительно типовая проблема, определить относится пользователь к одной из списка групп
(это делалось в сериализаторе)

staff_groups = Group.objects.filter(name__in=ERoles.staff())
Prefetch("groups", to_attr="staff_groups", queryset=staff_groups)

object.staff_groups.exists()

ОРМ совместит все группы пользователя с отфильтрованными по имени группы минуя N+1 проблему
Надо почитать про это дело, а то у меня вот такой вот страх:
gql_optimizer.query(Product.objects
           .prefetch_related(
           'attribute_values',
           'attribute_values__attribute',
           'attribute_values__value_option',
           'images',
       ), info).filter_by_attributes(**filter)

А потом я ещё его дальше мучаю. Сейчас попробую сюда префетч воткнуть, будет красиво ).
источник

AD

Alex Dem in Django [ru] #STAY HOME
💪😕
Надо почитать про это дело, а то у меня вот такой вот страх:
gql_optimizer.query(Product.objects
           .prefetch_related(
           'attribute_values',
           'attribute_values__attribute',
           'attribute_values__value_option',
           'images',
       ), info).filter_by_attributes(**filter)

А потом я ещё его дальше мучаю. Сейчас попробую сюда префетч воткнуть, будет красиво ).
трудно сказать наверняка, но похоже на правду
источник

AD

Alex Dem in Django [ru] #STAY HOME
💪😕
Надо почитать про это дело, а то у меня вот такой вот страх:
gql_optimizer.query(Product.objects
           .prefetch_related(
           'attribute_values',
           'attribute_values__attribute',
           'attribute_values__value_option',
           'images',
       ), info).filter_by_attributes(**filter)

А потом я ещё его дальше мучаю. Сейчас попробую сюда префетч воткнуть, будет красиво ).
источник

AD

Alex Dem in Django [ru] #STAY HOME
Это тот пример
Сериализатор содержит список полей которые нужно запрефетчить
источник

AD

Alex Dem in Django [ru] #STAY HOME
ViewSet его пытается получить (его может не быть, у нас динамическая сериализация)
источник

AD

Alex Dem in Django [ru] #STAY HOME
И в get_queryset, на самом верхнем уровне, делате prefetch всех полей
источник

Ꮆㄖ尺ᗪ乂1 in Django [ru] #STAY HOME
Всем привет, ребят, помогите race condition пофиксить. У меня есть форма которая отправляется по ajax запросу - типа проверка оплаты, при успешной проверке то-есть если деньги зачислились - выдаётся товар.
Пример проблемы:
Товар стоит 1 рубль
Перевожу 1 рубль  
нажимаю на кнопку проверки 10 раз
мне выдастся 10 товаров
источник

Ꮆㄖ尺ᗪ乂1 in Django [ru] #STAY HOME
Форма выглядит  так, кому интересно
https://prnt.sc/twemlq
источник

Ꮆㄖ尺ᗪ乂1 in Django [ru] #STAY HOME
комментарий задаётся в сессии, то-есть при обновлении страницы в сессию задаётся рандомный номер, и при успешной оплате опять задаётся рандомный номер
источник

💪

💪😕 in Django [ru] #STAY HOME
Alex Dem
И в get_queryset, на самом верхнем уровне, делате prefetch всех полей
Спасибо! У меня пока (надеюсь) по колхозному всё, буду стараться в эту сторону )
источник