Beiträge lassen sich nicht löschen



  • Ich verzweifel gerade an meinem Adminmenü.
    Es soll unter anderem Beiträge löschen, was nicht funktioniert. Er gibt zwar immer die Meldung zurück, dass den Beitrag gelöscht hat aber wenn ich anschließend die Site aktuallisiere, sind die ganzen Posts immer noch da, also nciht gelöscht.

    #Delete a post:
    @route('/delete_post/:nr')
    def delete_post(nr):
        if request.get_cookie('login_flag'):
            conn = sqlite3.connect('message.db')
            c = conn.cursor()
            query = "DELETE FROM message WHERE id = %s" % nr
            c.execute(query)         
            c.close()
            return 'The post with the id %s was deleted.' % nr
        else:
            return 'Not allowed!'
    

    Er zeigt mir auch keine Fehler an und geht auf jeden Fall den Code durch, da er mir den Returntext ('The post with the id %s was deleted.' % nr) anzeigt.

    Ich habe mir auch mal den Inhalt von query ausgeben lassen, sieht auch alles richtig aus: DELETE FROM message WHERE id = 18

    Selbst wenn ich hardcodiert eine ID reinschreibe, gibt er mir brav die return-Meldung zurück aber löscht nichts.



  • ehmm.. ist das Python?



  • Oh sorry.
    Ja ist Python



  • Ins Blaue geraten:

    Dass er bis zur "Returnmeldung" kommt wundert mich nicht, Du fragst ja auch nirgends ab ob das Löschen erfolgreich war (Tipp: Löschen in einer Datenbank gilt üblicherweise auch als erfolgreich, wenn 0 Sätze gelöscht wurden). Ansonsten könnte es auch sein, dass beim Öffnen des Cursors eine Transaktion startet, die nicht committed wird.



  • die nicht committed wird.

    Das war das Stichwort.
    Hab conn.commit() vergessen. Danke 😉


Anmelden zum Antworten