2016-06-24 2 views
0

Ich bin ein Neuling mit Django, der einen einfachen Code zum Hochladen und Löschen einer Datei versucht. Nach den Anweisungen in der angenommenen Antwort von Need a minimal Django file upload example konnte ich eine erfolgreiche Version zum Hochladen einer Datei erstellen. Beim Versuch, einzelne Dateien zu löschen, habe ich jedoch einige Fehler gemacht und später behoben.Django: Objekt-ID existiert, aber das Objekt wurde aus Mediendateien gelöscht

Das Problem ist, dass die Dateien, die ich beim Testen der ersten Version des Löschcodes löschte, nicht mehr als Dokumentdateien existieren, aber ihre IDs immer noch irgendwo im Speicher existieren (ich weiß nicht wo). Obwohl es mir gelungen ist, den Code zu reparieren, bekomme ich immer noch 'Löschen'-Buttons neben den bereits gelöschten Dateien (ohne Namen), und ich kann Dokument-IDs erhalten, wenn der Benutzer diese Buttons drückt.

Ich habe versucht, den Server neu zu starten und den Ordner 'Media' aus dem Speicher zu löschen, aber diese Schaltflächen sind noch vorhanden. Ich kann immer noch nicht herausfinden, wo diese Referenz-IDs gespeichert sind. Ich möchte nur, dass eine neue Version der Seite gestartet wird, ohne dass die Schaltflächen bereits gelöschten Dateien entsprechen.

Jede Hilfe würde wirklich geschätzt werden. Vielen Dank im Voraus.

Antwort

0

Sie sind in der Datenbank gespeichert. Sie können auf die Datenbank mit python manage.py dbshell zugreifen. Wenn Sie nichts Brauchbares hier konfiguriert haben, ist es wahrscheinlich SQLite. Hier können Sie die korrekte Tabelle nachschlagen, indem Sie .tables eingeben. Dann können Sie mit SQL die Modelldatensätze suchen und löschen, die die nicht vorhandenen Dateiverweise enthalten: SELECT * FROM my_table;, DELETE FROM my_table WHERE id = my_id;.

+0

Danke, ich hatte Sqlite3 nicht auf meinem 64-Bit-System installiert, also habe ich SqliteBrowser installiert, um die Datensätze aus der Datenbank zu löschen. – BajajG

Verwandte Themen