Je souhaite supprimer un enregistrement particulier. Tel que
delete from table_name where id = 1;
Comment puis-je faire cela dans un django model
?
Je souhaite supprimer un enregistrement particulier. Tel que
delete from table_name where id = 1;
Comment puis-je faire cela dans un django model
?
Réponses:
Il y a deux façons:
Pour le supprimer directement:
SomeModel.objects.filter(id=id).delete()
Pour le supprimer d'une instance:
instance = SomeModel.objects.get(id=id)
instance.delete()
pre_delete
ou post_delete
.
delete()
pour vérifier ce que vous supprimiez. Il renvoie un tuple avec le nombre d'objets supprimés et un dictionnaire avec des détails sur les types supprimés, par exemple (1, {'yourapp.SomeModel': 1})
.
MyModel.objects.get(pk=1).delete()
cela lèvera une exception si l'objet avec la clé primaire spécifiée n'existe pas car au début, il essaie de récupérer l'objet spécifié.
MyModel.objects.filter(pk=1).delete()
cela ne déclenchera pas d'exception si l'objet avec la clé primaire spécifiée n'existe pas et qu'il produit directement la requête
DELETE FROM my_models where id=1
MyModel.object.filter(pk=1).delete()
. Ce devrait être des "objets".
si vous voulez supprimer une instance, écrivez le code
delet= Account.objects.get(id= 5)
delet.delete()
si vous voulez supprimer toutes les instances, écrivez le code
delet= Account.objects.all()
delete.delete()
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()