Size: a a a

Django [ru] #STAY HOME

2020 June 17

AG

Artem Gubatenko in Django [ru] #STAY HOME
ZHU
.extra( и добавить свой запрос который будет вытягивать что нужно)
если так сделать от B, то разультат размножится на кол-во значений из A
источник

МП

Михаил Павлов... in Django [ru] #STAY HOME
3000
источник

АК

Алексей Котенко... in Django [ru] #STAY HOME
Artem Gubatenko
тогда используй Prefetch() как писал выше, только сделай в queryset=... запросе select_related
как я понимаю, это просто сделает ещё один join обратно к модели B
Что не решает проблему с дублированием запросов(
источник

Z

ZHU in Django [ru] #STAY HOME
Artem Gubatenko
если так сделать от B, то разультат размножится на кол-во значений из A
если поставить условие с фильтром
источник

Z

ZHU in Django [ru] #STAY HOME
Алексей Котенко
как я понимаю, это просто сделает ещё один join обратно к модели B
Что не решает проблему с дублированием запросов(
ты можешь сырой запрос написать и получить что нужно тогда у тебя не будет дублей )
источник

АК

Алексей Котенко... in Django [ru] #STAY HOME
ZHU
ты можешь сырой запрос написать и получить что нужно тогда у тебя не будет дублей )
Это понятно, просто хочу решить стандартными средствами ORM если это возможно)
источник

AD

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

AG

Artem Gubatenko in Django [ru] #STAY HOME
Алексей Котенко
как я понимаю, это просто сделает ещё один join обратно к модели B
Что не решает проблему с дублированием запросов(
по другому, от B, я думаю, не получится.
Меняй модель, от которой делаешь запрос
источник

AD

Alex Dem in Django [ru] #STAY HOME
Алексей Котенко
Это понятно, просто хочу решить стандартными средствами ORM если это возможно)
я немного запутался
если ты prefetch_related делаешь, у тебя на выходе получается 2 запроса или больше?
источник

Z

ZHU in Django [ru] #STAY HOME
ZHU
ты можешь сырой запрос написать и получить что нужно тогда у тебя не будет дублей )
ну я только вижу поставить условие в join c фильтром и distinct
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
ZHU
ну я только вижу поставить условие в join c фильтром и distinct
это подрежет другие данные, которые тоже , возможно, нужны)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Alex Dem
я немного запутался
если ты prefetch_related делаешь, у тебя на выходе получается 2 запроса или больше?
N +1
источник

Z

ZHU in Django [ru] #STAY HOME
Artem Gubatenko
это подрежет другие данные, которые тоже , возможно, нужны)
если в values указать то не должно
источник

АК

Алексей Котенко... in Django [ru] #STAY HOME
Alex Dem
я немного запутался
если ты prefetch_related делаешь, у тебя на выходе получается 2 запроса или больше?
смотря какой префетч делать)
источник

АК

Алексей Котенко... in Django [ru] #STAY HOME
ZHU
ну я только вижу поставить условие в join c фильтром и distinct
можешь подробнее рассказать?
Это модификация ORM query, а не raw, верно?
источник

Z

ZHU in Django [ru] #STAY HOME
Алексей Котенко
смотря какой префетч делать)
мне кажется prefetch_related не подойдет
источник

О

Ольга in Django [ru] #STAY HOME
Кто знает как решить эту проблему?
источник

О

Ольга in Django [ru] #STAY HOME
источник

О

Ольга in Django [ru] #STAY HOME
источник

DT

Dan Tyan in Django [ru] #STAY HOME
добавить в форму

{% csrf_token %}
источник