Похожие чаты

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

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

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

16 ответов

18 просмотров

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

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 и получится то же самое

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Карта сайта