Ich möchte einen bestimmten Datensatz löschen. Sowie
delete from table_name where id = 1;
Wie kann ich das in einem machen django model
?
Ich möchte einen bestimmten Datensatz löschen. Sowie
delete from table_name where id = 1;
Wie kann ich das in einem machen django model
?
Antworten:
Es gibt verschiedene Möglichkeiten:
So löschen Sie es direkt:
SomeModel.objects.filter(id=id).delete()
So löschen Sie es aus einer Instanz:
instance = SomeModel.objects.get(id=id)
instance.delete()
pre_delete
oder post_delete
verwenden.
delete()
können Sie überprüfen, was Sie gelöscht haben. Es gibt ein Tupel mit der Anzahl der gelöschten Objekte und ein Wörterbuch mit Details zu den gelöschten Typen zurück, z (1, {'yourapp.SomeModel': 1})
.
MyModel.objects.get(pk=1).delete()
Dies löst eine Ausnahme aus, wenn das Objekt mit dem angegebenen Primärschlüssel nicht vorhanden ist, da zunächst versucht wird, das angegebene Objekt abzurufen.
MyModel.objects.filter(pk=1).delete()
Dies löst keine Ausnahme aus, wenn das Objekt mit dem angegebenen Primärschlüssel nicht vorhanden ist und die Abfrage direkt erzeugt wird
DELETE FROM my_models where id=1
MyModel.object.filter(pk=1).delete()
. Es sollten "Objekte" sein.
Wenn Sie einen Eintrag löschen möchten
wishlist = Wishlist.objects.get(id = 20)
wishlist.delete()
Wenn Sie beispielsweise alle Elemente in der Wunschliste löschen möchten
Wishlist.objects.all().delete()
Wenn Sie eine Instanz löschen möchten, schreiben Sie den Code
delet= Account.objects.get(id= 5)
delet.delete()
Wenn Sie alle Instanzen löschen möchten, schreiben Sie den Code
delet= Account.objects.all()
delete.delete()