在线程中创建的Python Flask SQLite对象只能在同一线程中使用

我的代码错误:

  

ProgrammingError:在线程中创建的SQLite对象只能在同一线程中使用。该对象是在线程ID 4480339264中创建的,这是线程ID 123145516933120。

这是我的代码

  

文件app.py

from db import Database


app.db = Database()

def train():
# save to our sqlite database.db
      created = int(time.time())
      user_id = app.db.insert('INSERT INTO users(name,created) values(?,?)',[name,created])
  

文件db.py

import sqlite3
from os import path,getcwd


db = path.join(getcwd(),'database.db')


class Database:

    def __init__(self):
        self.connection = sqlite3.connect(db)

    def query(self,q,arg=()):
        cursor = self.connection.cursor()

        cursor.execute(q,arg)
        results = cursor.fetchall()
        cursor.close()

        return results

    def insert(self,arg)

        self.connection.commit()
        result = cursor.lastrowid
        cursor.close()
        return result
  

方法insert cursor = self.connection.cursor()中的文件db.py中的错误

sun121151360 回答:在线程中创建的Python Flask SQLite对象只能在同一线程中使用

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3165426.html

大家都在问