Je veux supprimer un enregistrement particulier. Tel que
delete from table_name where id = 1;
Comment puis-je faire cela dans un Django model
?
Il y a deux manières:
Pour le supprimer directement:
SomeModel.objects.filter(id=id).delete()
Pour le supprimer d'une instance:
instance = SomeModel.objects.get(id=id)
instance.delete()
MyModel.objects.get(pk=1).delete()
cela déclenchera une exception si l'objet avec la clé primaire spécifiée n'existe pas, car il tente d'abord de récupérer l'objet spécifié.
MyModel.objects.filter(pk=1).delete()
cette exception ne déclenchera pas d'exception si l'objet associé à la clé primaire spécifiée n'existe pas et produit directement la requête
DELETE FROM my_models where id=1
Wolph a fourni une bonne réponse axée sur les codes. Laissez-moi simplement coller officiel doc ici, à titre de référence.
Si vous souhaitez supprimer un élément
wishlist = Wishlist.objects.get(id = 20)
wishlist.delete()
Si vous souhaitez supprimer tous les éléments de la liste de souhaits, par exemple
Wishlist.objects.all().delete()