Объекты Python Flask SQLite, созданные в потоке, могут использоваться только в том же потоке - PullRequest
0 голосов
/ 04 ноября 2019

Ошибка моего кода:

ProgrammingError: объекты SQLite, созданные в потоке, могут использоваться только в этом же потоке. Объект был создан в идентификаторе потока 4480339264 и это идентификатор потока 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, q, arg=()):
        cursor = self.connection.cursor()

        cursor.execute(q, arg)

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

Ошибка в файле db.py в методе insert cursor = self.connection.cursor ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...