170 похожих чатов

Скажите как лучше написать запрос? institution в filter положить или

в prefetch_related?

16 ответов

25 просмотров
Erik-Arakelian Автор вопроса

institution - это поле в модели ManyToMany... Если institution в filter, то это institution = Institution.objects.get(domain=domain)

это же разное делает

Erik-Arakelian Автор вопроса
Denis Pobedrya
это же разное делает

можете пояснить. Я так понимаю если я использую в prefetch, то я минимизирую запросы в БД. Institution - это поле в модели ManyToMany... В filter я фильтрую через queryset - Institution.objects.get(domain=domain). Или откуда prefetch узнать что именно эти добавки (additives) относятся к данному institution у которого domain=domain

Erik Arakelian
можете пояснить. Я так понимаю если я использую в...

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

Смотря что нужно найти, если пересечение множеств, то да, intersection

так они же разные. Префеч это фича/костыль джанги. Он наполняет внутренний кэш запроса.

Erik-Arakelian Автор вопроса
Denis Pobedrya
Смотря что нужно найти, если пересечение множеств,...

set не сработает со списками и словарями в них. Как то можно не через for сравнить данные друг с другом?

Erik Arakelian
screenshot set не сработает со списками и словарями в них. К...

а что хочется сделать-то в итоге с данными?

Erik-Arakelian Автор вопроса
Denis Pobedrya
а что хочется сделать-то в итоге с данными?

ну смотрите, мне с фронта приходит массив и я хочу проверить схожесть данных с тем что есть в бд. Если все плохо, то я исправляю на данные из бд. Потом свой массив для сессии корзины формирую.

Erik Arakelian
ну смотрите, мне с фронта приходит массив и я хочу...

хм, а зачем шаг проверки, не лучше ли брать правильные данные сразу из бд?

Erik-Arakelian Автор вопроса
Denis Pobedrya
хм, а зачем шаг проверки, не лучше ли брать правил...

ну там все непросто. И проверка эта нужна для того, чтобы если какой-то мамкин хакер захочет изменить через js цену у товара или его добавок. Вот я на сервере проверяю это

Erik Arakelian
ну там все непросто. И проверка эта нужна для тог...

я имею в виду вообще не обращать внимание на цену пришедшую с фронта, а брать ту, которая в бд

Создай список с именами и потом filter(<smth>__title__in=<names_list>)

Erik-Arakelian Автор вопроса
Arseny
Создай список с именами и потом filter(<smth>__tit...

мог бы, но по-моему это лишняя движуха в логике вьюшки. Ищу более грамотный вариант, чтобы избежать циклов вложенных. Не исключено, что в итоге забью и через цикл оставлю проверку

Erik Arakelian
мог бы, но по-моему это лишняя движуха в логике вь...

Ага, а получать ненужные данные это не лишняя логика? Представь что у тебя 1000 элементов и с нужным тебе title будет 9xx элементом. Да и это не такая огромная логика, что бы не хранить её во вьюхе, как мне кажется(я вообще все такие get_smth вынес в сервисный слой в своём пет-проекте)

Erik Arakelian
мог бы, но по-моему это лишняя движуха в логике вь...

Так, стоп. Может быть ты меня не так понял? Я про фильтр queryset, а не фильтровать после запроса в базу

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта