Динамическое создание словаря с подсказками по типу из чтения базы данных PostGreSQL.Python

Программы на Python
Anonymous
Динамическое создание словаря с подсказками по типу из чтения базы данных PostGreSQL.

Сообщение Anonymous »

Использование Python, PostGreSQL и psycopg2 для объединения этих двух факторов.
В настоящее время создаем функции CRUD. Суть этого вопроса находится на чтениях. Обычно функции выборки курсора возвращают данные, упакованные в кортеж. Ради удобства чтения я хочу переупаковать все в словарь. (Проблема XY: не следует ли мне этого делать?)
Используя курсор.описание, я могу получить имя и тип каждого столбца. Но какую структуру я могу использовать, чтобы она содержала и метку, и тип?
pool_settings — это str, int, int, int.

Код: Выделить всё

def read_pool_settings(site):
connection = create_connection()
cursor = connection.cursor()
cursor.execute(
f'''
SELECT * FROM pool_settings
WHERE site = '{site}';
''')
output = cursor.fetchone()
column_info = [(desc[0], desc[1]) for desc in cursor.description]
connection.close()
dict_output = dict()
for index, info in enumerate(column_info):
dict_output[info[0]] = output[index]
# something about type hinting with info[1] here
return dict_output
Я знаю, что вы можете использовать dict[str, Union(str, int)] для указания набора ключей str и значений str/int, но я хочу, чтобы каждый ключ имел подсказку типа ( поэтому моя IDE может напоминать мне при наведении курсора, а не для компиляции отладки)
Я также изучал typing.TypedDict, но вам нужно вручную объявлять типы, и это не относится к моему потребности.
Это просто безнадежное дело в Python?

Подробнее здесь: https://stackoverflow.com/questions/773 ... ql-db-read

Вернуться в «Python»