Похожие чаты

Всем привет. Есть большой запрос, который ищет одну запись в

БД по нескольким условиям. В where есть and_ с четырьмя условиями. Появилась необходимость убирать некоторые условия если по итогу возвращается None (т.е. нужно смягчить условия поиска, если ничего не возвращается)

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

16 ответов

15 просмотров

А что значит "не знаем, из-за какого условия в базе не нашлось ни одной записи"? Как это вообще собираешься понять?

kindaway- Автор вопроса
Айван
А что значит "не знаем, из-за какого условия в баз...

Вот в этом и вопрос, я не знаю как это понять. Если у меня не выполнилось третье условие, то нужно его убрать и повторить запрос. А как такое сделать — не знаю (даже не знаю, как гугл спросить)

Айван
А что значит "не знаем, из-за какого условия в баз...

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

kindaway
Вот в этом и вопрос, я не знаю как это понять. Есл...

Сделай перед запросом на чтение строк отдельные проверки на наличие строк соответствующих критериям отдельных частей этого запроса

kindaway- Автор вопроса
Айван
Сделай перед запросом на чтение строк отдельные пр...

Спасибо, я об этом и думал. Теперь мне надо понять, как в зависимости от полученных критериев подставлять в and_ нужные условия. А иначе мне придется копипастить один и тот же запрос, удаляя по одному условию из запроса. И так у меня их может быть много

kindaway
Спасибо, я об этом и думал. Теперь мне надо понять...

kindaway, Вы увеличили карму Айван до 441.22 (+9.61)

kindaway
Спасибо, я об этом и думал. Теперь мне надо понять...

https://github.com/SamWarden/user_service/blob/63cd8d4022236b7e17e6ed48d0c8c29431263b3a/src/infrastructure/db/repositories/user.py#L47

kindaway
Вот в этом и вопрос, я не знаю как это понять. Есл...

А поконкретней код можно? А то не понимаю что за ситуация

Айван
https://github.com/SamWarden/user_service/blob/63c...

А зачем в лист конвертишь?

kindaway- Автор вопроса
Айван
https://github.com/SamWarden/user_service/blob/63c...

боже мой, я и не догадывался что так можно :D спасибо ещё раз

kindaway- Автор вопроса
ShiroNoHaga
А поконкретней код можно? А то не понимаю что за с...

я бы кинул код, но у меня на компьютере нет интернета, а фотографию экрана делать не хочу 😁

kindaway
Спасибо, я об этом и думал. Теперь мне надо понять...

Хотя... может быть ситуация когда фильтры по-отдельности возвращают результат, но вместе ничего не вернут

Айван
Хотя... может быть ситуация когда фильтры по-отдел...

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

ShiroNoHaga
А зачем в лист конвертишь?

Возможно для тайпхинта

Айван
Возможно для тайпхинта

М, ты можешь вместо users вкинуть result и получится то же самое

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

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

Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
VIP-392 [zkSync] New native USDC market in the Core pool Summary If passed, following the Community proposal “Support native USDC on Venus Core Pool of ZKSync Era” and the a...
Venus Announcements
1
is that okay?
Samurai 🇯🇵
21
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
How about the project bro Likes the community not that active ?
🅿️abby_FX
19
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
Guys, Donald Trump or Kamala Harris? It does not matter for Bitcoin in the long run!! 2020 Election: After Joe Biden's victory in November 2020, Bitcoin steadily rose from...
Sabah Shabu
3
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Карта сайта