Eu tenho duas perguntas:
- Como excluo uma tabela no Django?
- Como faço para remover todos os dados da tabela?
Este é o meu código, que não obteve sucesso:
Reporter.objects.delete()
python
django
django-queryset
zjm1126
fonte
fonte
Respostas:
Dentro de um gerente:
fonte
'DELETE FROM %s' % (table_name, )
para aquela parte, deixando a mesa vazia, mas intacta.De acordo com a documentação mais recente , o método correto para chamar seria:
fonte
delete
método da instância é chamado, enquanto com adelete
chamada noQuerySet
não é.Se você deseja remover todos os dados de todas as suas tabelas, você pode tentar o comando
python manage.py flush
. Isso excluirá todos os dados de suas tabelas, mas as próprias tabelas ainda existirão.Veja mais aqui: https://docs.djangoproject.com/en/1.8/ref/django-admin/
fonte
Usando shell,
1) Para excluir a tabela:
2) Para remover todos os dados da tabela:
fonte
Django 1.11 deleta todos os objetos de uma tabela de banco de dados -
Consulte a documentação oficial do Django aqui conforme citado abaixo - https://docs.djangoproject.com/en/1.11/topics/db/queries/#deleting-objects
Observe que delete () é o único método QuerySet que não é exposto no próprio Manager. Este é um mecanismo de segurança para evitar que você acidentalmente solicite Entry.objects.delete () e exclua todas as entradas. Se você quiser excluir todos os objetos, precisará solicitar explicitamente um conjunto de consulta completo:
Eu mesmo tentei o snippet de código visto abaixo em meu
somefilename.py
e dentro do meu
views.py
eu tenho uma visão que simplesmente renderiza uma página html ...acabou excluindo todas as entradas de - model == model_4, mas agora vejo uma tela de erro no console de administração quando tento verificar se todos os objetos de model_4 foram excluídos ...
Considere que - se não formos ao console de ADMIN e tentarmos ver os objetos do modelo - que já foram excluídos - o aplicativo Django funcionará exatamente como pretendido.
django admin screencapture
fonte
Existem algumas maneiras:
Para excluí-lo diretamente:
Para excluí-lo de uma instância:
// não use o mesmo nome
fonte