Задать вопрос
@flexpc

Получения строки от Postgresql?

cur.execute("SELECT (user_name, user_date_reg, user_date_mailing, user_access, is_ban) FROM users WHERE user_id = %s;", (message.from_user.id,))

Я выполняю такой запрос, используя psycopg2, который успешно выполняется
полный код
@dp.message(F.text == " Мой профиль")
async def profile(message: Message) -> None:
    with conn.cursor() as cur:
        cur.execute("SELECT (user_name, user_date_reg, user_date_mailing, user_access, is_ban) FROM users WHERE user_id = %s;", (message.from_user.id,))
        rows = cur.fetchone()

        print(rows)

    #await message.answer(f"<b>Ваше имя:</b> {rows[0]}!\n<b>Дата регистрации:</b> \n<b>Дата последней рассылки:</b> \n<b>Доступ:</b> нет\n\nДля покупки, продления доступа и остальным вопросам - @ucnop4en", reply_markup=keyboard)

Я использую это в связке с aiogram

Но на моменте print(rows) я получаю это ('(Cellar,1748523378,1748523378,,t)',), то есть необходимые мне данные хранятся просто в строке, конечно можно спарсить эту строку, сплитуя запятые, но я считаю это костыль. Как мне получить массив, словарь, кортеж или любой другой тип данных, который удобно парсить. спасибо!
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 1
@Petr_axeman
Full-stack web python developer
Давно с этим сталкивался, смотри в документации, там есть или загрузчик или парсер (точного названия не помню), и по умолчанию и для конкретного запроса. Dict работает мягко говоря нестабильно, и у него на практике есть нюансы, особенно в качестве решения по умолчанию.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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