Tengo dos preguntas:
- ¿Cómo elimino una tabla en Django?
- ¿Cómo elimino todos los datos de la tabla?
Este es mi código, que no tiene éxito:
Reporter.objects.delete()
python
django
django-queryset
zjm1126
fuente
fuente
Respuestas:
Dentro de un gerente:
fuente
'DELETE FROM %s' % (table_name, )
para ese bit, dejando la mesa vacía pero intacta.Según la última documentación , el método correcto para llamar sería:
fuente
delete
se llama al método de la instancia , mientras que con ladelete
llamadaQuerySet
no lo es.Si desea eliminar todos los datos de todas sus tablas, es posible que desee probar el comando
python manage.py flush
. Esto eliminará todos los datos de sus tablas, pero las tablas en sí seguirán existiendo.Vea más aquí: https://docs.djangoproject.com/en/1.8/ref/django-admin/
fuente
Usando shell,
1) Para eliminar la tabla:
2) Para eliminar todos los datos de la tabla:
fuente
Django 1.11 elimina todos los objetos de una tabla de base de datos -
Consulte la documentación oficial de Django aquí como se cita a continuación: https://docs.djangoproject.com/en/1.11/topics/db/queries/#deleting-objects
Tenga en cuenta que delete () es el único método QuerySet que no está expuesto en un administrador. Este es un mecanismo de seguridad para evitar que solicite Entry.objects.delete () accidentalmente y elimine todas las entradas. Si desea eliminar todos los objetos, debe solicitar explícitamente un conjunto de consultas completo:
Yo mismo probé el fragmento de código que se ve a continuación dentro de mi
somefilename.py
y dentro de mi
views.py
tengo una vista que simplemente muestra una página html ...terminó eliminando todas las entradas de - model == model_4, pero ahora puedo ver una pantalla de error dentro de la consola de administración cuando trato de determinar que todos los objetos de model_4 se han eliminado ...
Tenga en cuenta que, si no vamos a la Consola ADMIN y tratamos de ver los objetos del modelo, que ya se han eliminado, la aplicación Django funciona como se esperaba.
captura de pantalla de administrador de django
fuente
Hay un par de maneras:
Para eliminarlo directamente:
Para eliminarlo de una instancia:
// no uses el mismo nombre
fuente