Похожие чаты

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

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

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

16 ответов

4 просмотра

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

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

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

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

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone have any good learning material on how to do network analysis on cryptocurrency? Obviously monero is different story, but for Ethereum network for example. Thanks.
John Doe
13
@LGCYMan @JustinKKW Q/A List 1. this part confuses me on #8: "From there, a bridge between erc20 LGXY and erc20 LGXY will be out once that swap is closed." does this mean ...
Sig | LGCY | BattleVerse L1 | BitWin
1
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Did @Beeker really get banned? That's ridiculous. He's one of the few left here with half a brain and you might not always like his narrative @dgb_ycagel , but he often keeps ...
Leroy Gerrits
1
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
How do I get FrxEth? Need it to execute a contract
Abdullah $BTON
18
Карта сайта