Я застрял в указанной c проблеме с SQLAlchemy. По сути, у меня есть таблица со столбцом, который является вложенным массивом ({{filename1, file_url1}, {filename2, file_url2}}
).
Мне удалось написать запрос фильтра, который выполняет поиск в первом элементе всех массивов (так что в этом случае (по имени файла) с использованием оператора ILIKE
.
Тем не менее, у меня есть проблема с правильным запросом ВСЕХ массивов, так как оператор среза [:]
создает срез [NULL:NULL]
в скомпилированном запросе, в то время как Мне нужен простой [:]
, так как это то, что поддерживается PostgreSQL.
Запрос в SQLAlchemy выглядит следующим образом
cast(DataStorage.result_files[:][1], sql_string).ilike(f"%{request.args.get('result_files', '')}%")
Но выдает CAST(data_storage.result_files[NULL:NULL][%(param_1)s] AS VARCHAR) ILIKE %(param_2)s
вместо CAST(data_storage.result_files[:][%(param_1)s] AS VARCHAR) ILIKE %(param_2)s
Когда первый срез result_files[:][1]
установлен в заданный диапазон срезов c, он работает отлично, но у меня проблема с [:]
. Есть ли простое решение для передачи [:]
, как при компиляции запроса?