运行python线程可以访问SQLite DB的静态(旧)版本

运行python线程可以访问SQLite DB的静态(旧)版本,python,database,multithreading,sqlite,python-multithreading,Python,Database,Multithreading,Sqlite,Python Multithreading,我以线程的形式运行上述代码。在SQLite数据库中访问SQLAlchemy模型 下面的代码显示了烧瓶路线。这里我设置了数据库表“设置”列“帐号”。在数据库中,值已成功更改,但是在后台运行线程时,无法获取对SQLite db的最新更改 def maintenance(): while True: settings = Setting.query.filter_by().first() print settings.__dict__ thread.star

我以线程的形式运行上述代码。在SQLite数据库中访问SQLAlchemy模型

下面的代码显示了烧瓶路线。这里我设置了数据库表“设置”列“帐号”。在数据库中,值已成功更改,但是在后台运行线程时,无法获取对SQLite db的最新更改

def maintenance():
    while True:
        settings = Setting.query.filter_by().first()
        print settings.__dict__


thread.start_new_thread( maintenance, ( ))
我已经在外部测试过,SQLite DB已经更改。它正确地显示了对数据库的更改

@app.route('/dashboard/')
def dashboard():

    if session['logged_in'] == False:
        return render_template('home.html')

    account = Account.query.filter_by(account_number = session['account_number']).first()
    setting = Setting.query.filter().first()

    setting.account_number = session['account_number'] 
    try:
        db.session.commit()
    except (sqlalchemy.exc.SQLAlchemyError, sqlalchemy.exc.DBAPIError) as e:
        print e

    return render_template('dashboard.html', account=account)
python线程是否快照SQLite数据库?如果我设置一个mysql数据库,会有什么不同吗

@app.route('/test')
def test_setup():
    settings = Setting.query.filter_by().first()
    print settings.__dict__
    return ''