postgresql sql синтаксическая ошибка запроса в строке "convert_from" или рядом с ней в python - PullRequest
0 голосов
/ 07 мая 2020

Думаю, это простой вопрос, как написать sql запрос в python?

### python3 code
# ok 
row = await conn.fetchrow(
    'SELECT * FROM users WHERE email = $1', user_email)

# NOT ok
user_pw = await conn.fetch(                                                          
    'convert_from($1, $2)', row[2], 'UTF8') 

asyncpg.exceptions.PostgresSyntaxError: синтаксическая ошибка в "convert_from" или рядом с ним

1 Ответ

0 голосов
/ 08 мая 2020

Я исправил ошибку следующим кодом:

tmp_pw = await conn.fetch(
    'SELECT * FROM convert_from($1, $2)', row[2], 'UTF8')

# because, tmp_pw is  
#[<Record convert_from='$2a$12$PsXD/oaDXwC1Ffup842I/emQ3Bz26AWjQNsLBQipQ4gvRIFhUQAXb2'>]
# any suggestion is welcome.
user_pw = str(tmp_pw).strip('[]').strip('<>').split('=')[1].strip('\'')

# another method to get pw from Record (not tested):
# tmp_iter = iter(tmp_pw)
# user_pw = next(tmp_iter)
...