Я сталкиваюсь со странной проблемой, когда result = cursor.fetchone()
возвращает None при наличии данных в БД.
Пожалуйста, позвольте мне объяснить, почему это странно, я создал одно соединение
connection = psycopg2.connect(
user=environ["DB_USER"],
password=environ["DB_PASS"],
host=environ["DB_HOST"],
port=environ["DB_PORT"],
database=environ["DB_NAME"],
)
Затем я передаю это соединение функции, эта функция создает курсор, выполняет несколько запросов, закрывает курсор и возвращает результат. В этот момент соединения работают, курсор работает. Затем я передаю то же соединение другой функции, и вот здесь у меня проблема:
def check_dependency(connection, uuid):
cursor = connection.cursor()
tablename = environ["PIPILE_NAME"]
sql_str = f"SELECT * FROM {tablename} "
sql_str += "WHERE uuid = %s "
sql_str += "AND NOT decrypt_status;"
cursor.execute(sql_str, (uuid,))
result = cursor.fetchone()
cursor.close()
print(sql_str, uuid, result) #<-- this output
return result
Я скопировал вывод, запустил его непосредственно в postgresql и вернул ожидаемую строку, но функция возвращает None.
Я полагаю, что проблема может быть связана с соединением или курсором, но я не знаю, как убедиться, что они в порядке