in der DB Ich habe zwei Ereignisse:Warum wird die Datenbank nach dem Löschen nicht aktualisiert?
{1: {'title': 'APPLE'}, 2: {'title': 'BANANA'}}
, wie Sie unten sehen können, ich die deletefromDB Funktion mit dem Parameter des zweiten Ereignisses auf Refresh nennt, und ich bin die Daten auszudrucken (die json oben) . Mein Problem ist, dass sich die Daten erst ändern, wenn ich meinen Flaschenserver neu starte. Bis zu diesem Punkt ist es die gleiche json-Ausgabe. Kann jemand erklären, was ich falsch mache?
dies ist mein Code:
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()
Sieht aus wie ein Problem mit Transaktionen. Versuchen Sie vielleicht manuell "commit" auszuführen oder ändern Sie isolation_level in None. – Maciek