Size: a a a

Django [ru] #STAY HOME

2021 May 26

S

Shodmon in Django [ru] #STAY HOME
select a.id, b.id from authors a left join books b on a.id = b.author_id where a.id in (
select id from authors order by id desc limit 50
)

тоже ни то, последние 50 авторов в принципе
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
да, походу придётся сабквери ковырять
источник

DT

Dan Tyan in Django [ru] #STAY HOME
а что ты в сабквери хочешь получить ?
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
это изначально делает фильтр последних 50 авторов (по всем книгам сразу) и затем по ним делает джоины?
источник

DT

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

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
> тоже ни то, последние 50 авторов в принципе
ага
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
чет похожее, да
источник

DT

Dan Tyan in Django [ru] #STAY HOME
но orm такое мне кажется не описать
сырой запрос придется делать
источник

AD

Alex Dem in Django [ru] #STAY HOME
так это, сделай префетч
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Prefetch(queryset)?
источник

AD

Alex Dem in Django [ru] #STAY HOME
Books.objects.prefetch_related("author_set").all()
источник

DT

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

DT

Dan Tyan in Django [ru] #STAY HOME
вот прям твое
источник

AD

Alex Dem in Django [ru] #STAY HOME
чтобы N+1 не ловить
источник

Н

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

AD

Alex Dem in Django [ru] #STAY HOME
какой именно итерации?
в том for цикле не должны лететь, только если лимит малину всю не портит
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
всмысле? ты предлагаешь сюда префетч?
https://t.me/pydjango/546865
источник

AD

Alex Dem in Django [ru] #STAY HOME
(я сам не особо шарю, но выше писали, что лимит сам питон делает, поэтому prefetch_related должен работать даже в таком примитивном виде)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
префетч тут не нужен
источник

AD

Alex Dem in Django [ru] #STAY HOME
а, там еще и авторы
источник