【发布时间】:2022-01-13 08:11:56
【问题描述】:
我是 Python 和 FastAPI 的完全初学者。
我正在使用 FastAPI,并且我有一个表,其中要求使用PostgreSQL 的pgcrypto 模块加密用户的个人信息。
原始查询是这样的,可以在任何数据库客户端中执行,并且执行时不会出现任何错误
insert into customers (email, gender) values (pgm_sym_encrypt('hello@gmail.com', 'some_secret_key'), 'male')
如何使用 SQLAlchemy 核心或encode/databases 执行此查询? 这个我试过了
from sqlalchemy import func
query = f"""
insert into customers (email, gender) values
(:email, :gender)
"""
await database.execute(query=query, values={'email': func.pgm_sys_encrypt('hello@gmail.com', 'secret_key'), 'gender': 'male'})
没有用。 我也试过了
query = f"""
insert into customers (email, gender) values
(pgm_sys_encrypt('hello@gmail.com', 'secret_key'), :gender)
"""
await database.execute(query=query, values={'gender': 'male'})
这也不起作用。我不知道如何在原始查询中执行函数。请帮忙。我已经尝试了很多,但我现在对这个完全一无所知。提前感谢您的帮助。
【问题讨论】:
标签: python sqlalchemy flask-sqlalchemy psycopg2 fastapi