python - PYTHON:将 psycopg2 游标作为参数传递给另一个类
问题描述
所以我的目标是将数据插入数据库。我的主代码中有一个 psycopg2 连接池,我想在另一个类中使用该池的连接之一,所以我尝试将光标作为参数传递。这里我创建了连接池:
conn_pool = psycopg2.pool.ThreadedConnectionPool(1, 20, user="",
password="",
host="",
port="",
database="")
这里我从 User 类调用插入函数。
conn = conn_pool.getconn()
cur = conn.cursor()
result = users[thread_id].insert(cur, data)
conn_pool.putconn(conn)
这是 User 类中的插入函数
def insert(self, cur, data):
username = data["data"]["username"]
password = data["data"]["password"]
cur.execute(f"select user_id from users where username like '{username}'")
raw = cur.fetchone()
if raw is not None:
dataj = {"title": "signup_feedback",
"feedback": 0}
self.connection.send(json.dumps(dataj).encode())
return False
print("Signup attempt")
cur.execute("insert into users (username, password, balance, logged_in) " +
f"values ('{username}', '{password}', 5000, false)")
dataj = {"title": "signup_feedback",
"feedback": 1}
self.connection.send(json.dumps(dataj).encode())
return True
它没有用。它没有引发错误,它只是没有做任何事情。有没有办法做到这一点?我也愿意接受其他想法。谢谢你的帮助!
解决方案
推荐阅读
- php - Laravel API 返回文件并且客户端必须显示下载对话框
- javascript - 在页面上找不到我的 jQuery?它是否在其他元素后面显示加载的数据?
- azure-devops - Azure Devops Pipeline 测试步骤失败 - 数据文件的路径不正确
- asp.net - 在 ActionFilterAttribute 中添加标题
- python-2.7 - Python鼻子测试覆盖包并排除一些目录
- javascript - 如何使用 setInterval 函数在屏幕上显示的每个值之间以 500 毫秒的间隔显示阶乘计算?
- javascript - 在每个单元格上动态添加两个不同的按钮
- kendo-ui - Kendo Grid 中的动态过滤器
- c# - 如何在 C# 中追加和更新 cookie?
- selenium - 元素在 chrome 中不可点击