Size: a a a

Django [ru] #STAY HOME

2020 August 11

AG

Artem Gubatenko in Django [ru] #STAY HOME
Jon Snow
Вы ведь перед циклом делаете запрос в бд, а потом в цикле работаете уже с переменными которые с бд не работают
там внутри цикла еще запрос на каждую итерацию
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Jon Snow
Вы ведь перед циклом делаете запрос в бд, а потом в цикле работаете уже с переменными которые с бд не работают
Я тоже так думаю. Буду надеяться что мы с вами правы)
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
там внутри цикла еще запрос на каждую итерацию
Всё-таки будет делаться? А есть вариант как сразу вытащить его?
источник

JS

Jon Snow in Django [ru] #STAY HOME
Ля можно скинуть код нормально, у меня даже на перевёрнутом экране все в жопу морщится
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Jon Snow
Ля можно скинуть код нормально, у меня даже на перевёрнутом экране все в жопу морщится
Извиняюсь, сейчас сделаю
источник

JS

Jon Snow in Django [ru] #STAY HOME
Artem Gubatenko
там внутри цикла еще запрос на каждую итерацию
Там фильтр у уже вытащенного кверисета же
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Jon Snow
Там фильтр у уже вытащенного кверисета же
как минимум first() сделает отдельный запрос
источник

JS

Jon Snow in Django [ru] #STAY HOME
Ну там он же у skus возьмёт first а не у базы?
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Jon Snow
Ля можно скинуть код нормально, у меня даже на перевёрнутом экране все в жопу морщится
источник

JS

Jon Snow in Django [ru] #STAY HOME
Я просто не совсем пойму как first() делает отдельный запрос в базу
источник

I

Ivan in Django [ru] #STAY HOME
Можно ли как то отфильтровать объекты доступные через related_name? То есть я хочу получить модель, а когда обращусь через related_name то получить не все а через фильтр
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Jon Snow
Я просто не совсем пойму как first() делает отдельный запрос в базу
у него там доп фильтрация + values() (которая переделывает запрос) + first() ( который "оценивает" запрос с уже новыми параметрами фильтрации)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
в brands_categories тебе нужны именно объекты?
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
в brands_categories тебе нужны именно объекты?
Да, это ForeignKey оба поля
источник

JS

Jon Snow in Django [ru] #STAY HOME
но ведь и values() и first() манипулируют с уже готовым запросом который лежит в skus или это ничего не значит?
источник

JS

Jon Snow in Django [ru] #STAY HOME
надо короче чекнуть через силк
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
Да, это ForeignKey оба поля
тогда попробуй так: https://pastebin.com/Zpk6WTFB
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Jon Snow
но ведь и values() и first() манипулируют с уже готовым запросом который лежит в skus или это ничего не значит?
Queryset берется из кеша пока ты не меняешь условия и формат запроса. Это же не БД.
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Я вот по типу того и сделал - https://pastebin.com/x5NQKQW3
Но я так понимаю select_related побыстрее будет?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
он сделает JOIN и у тебя не будет по +3 запроса при каждой итерации. Как в последнем варианте
источник