Quiero borrar un registro en particular. Como
delete from table_name where id = 1;
¿Cómo puedo hacer esto en un django model
?
Quiero borrar un registro en particular. Como
delete from table_name where id = 1;
¿Cómo puedo hacer esto en un django model
?
Respuestas:
Hay un par de maneras:
Para eliminarlo directamente:
SomeModel.objects.filter(id=id).delete()
Para eliminarlo de una instancia:
instance = SomeModel.objects.get(id=id)
instance.delete()
pre_delete
o en su post_delete
lugar.
delete()
para verificar lo que estaba borrando. Devuelve una tupla con el recuento de objetos eliminados y un diccionario con detalles sobre los tipos eliminados, por ejemplo (1, {'yourapp.SomeModel': 1})
.
MyModel.objects.get(pk=1).delete()
esto generará una excepción si el objeto con la clave primaria especificada no existe porque al principio intenta recuperar el objeto especificado.
MyModel.objects.filter(pk=1).delete()
esto no generará una excepción si el objeto con la clave primaria especificada no existe y produce directamente la consulta
DELETE FROM my_models where id=1
MyModel.object.filter(pk=1).delete()
. Debería ser "objetos".
si desea eliminar una instancia, escriba el código
delet= Account.objects.get(id= 5)
delet.delete()
si desea eliminar todas las instancias, escriba el código
delet= Account.objects.all()
delete.delete()
Si quieres eliminar un elemento
wishlist = Wishlist.objects.get(id = 20)
wishlist.delete()
Si desea eliminar todos los elementos de la lista de deseos, por ejemplo
Wishlist.objects.all().delete()