【发布时间】:2017-01-27 13:48:00
【问题描述】:
在数据库中我有两个事件:
{1: {'title': 'APPLE'}, 2: {'title': 'BANANA'}}
如下所示,我在刷新时使用第二个事件的参数调用 deletefromDB 函数,并打印出数据(上面的 json)。我的问题是,只有在我重新启动烧瓶服务器后,数据才会改变。到那时,它是相同的 json 输出。有人可以解释我做错了什么吗?
这是我的代码:
import sqlite3
from flask import Flask, render_template, request
app = Flask(__name__)
data = {}
conn = sqlite3.connect('events.db')
cursor = conn.cursor()
# INIT
def initDB():
with conn:
cursor.execute("SELECT * FROM Events")
rows = cursor.fetchall()
for row in rows:
temp = {}
temp["title"] = row[1]
data[row[0]] = temp
print(data)
initDB()
def deletefromDB(eventID):
query = 'DELETE FROM Events WHERE EventId = {}'.format(eventID)
with conn:
cursor.execute(query)
print(query)
initDB()
@app.route('/')
def index():
deletefromDB(2)
return 'Index Page'
if __name__ == "__main__":
app.run()
【问题讨论】:
-
看起来交易有问题。尝试手动执行“提交”或将隔离级别更改为无。