Eu quero excluir um registro específico. Tal como
delete from table_name where id = 1;
Como posso fazer isso em um django model
?
Eu quero excluir um registro específico. Tal como
delete from table_name where id = 1;
Como posso fazer isso em um django model
?
Respostas:
Existem algumas maneiras:
Para excluí-lo diretamente:
SomeModel.objects.filter(id=id).delete()
Para excluí-lo de uma instância:
instance = SomeModel.objects.get(id=id)
instance.delete()
pre_delete
ou post_delete
.
delete()
para verificar o que estava excluindo. Ele retorna uma tupla com a contagem de objetos excluídos e um dicionário com detalhes sobre os tipos excluídos, por exemplo (1, {'yourapp.SomeModel': 1})
.
MyModel.objects.get(pk=1).delete()
isso gerará uma exceção se o objeto com chave primária especificada não existir, porque primeiro ele tenta recuperar o objeto especificado.
MyModel.objects.filter(pk=1).delete()
isso não gerará exceção se o objeto com chave primária especificada não existir e produzir diretamente a consulta
DELETE FROM my_models where id=1
MyModel.object.filter(pk=1).delete()
. Deve ser "objetos".
Se você deseja excluir um item
wishlist = Wishlist.objects.get(id = 20)
wishlist.delete()
Se você deseja excluir todos os itens da lista de desejos, por exemplo
Wishlist.objects.all().delete()