Cómo eliminar todos los datos de una tabla usando django

Tengo dos preguntas :

  1. como borrar la tabla en django
  2. Cómo eliminar todos los datos de la tabla.

Este es mi código, pero no tiene éxito:

Reporter.objects.delete() 

Dentro de un gerente:

 def delete_everything(self): Reporter.objects.all().delete() def drop_table(self): cursor = connection.cursor() table_name = self.model._meta.db_table sql = "DROP TABLE %s;" % (table_name, ) cursor.execute(sql) 

Según la documentación más reciente, el método correcto para llamar sería:

 Reporter.objects.all().delete() 

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 seguirán existiendo.

Vea más aquí: https://docs.djangoproject.com/en/1.8/ref/django-admin/

Django 1.11 borra todos los objetos de una tabla de base de datos –

 Entry.objects.all().delete() ## Entry being Model Name. 

Consulte la documentación oficial de Django aquí citada 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 accidentalmente Entry.objects.delete () 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 en mi nombre de somefilename.py

  # for deleting model objects from django.db import connection def del_model_4(self): with connection.schema_editor() as schema_editor: schema_editor.delete_model(model_4) 

y dentro de mi views.py tengo una vista que simplemente representa una página html …

  def data_del_4(request): obj = calc_2() ## obj.del_model_4() return render(request, 'dc_dash/data_del_4.html') ## 

terminó eliminando todas las entradas de – model == model_4, pero ahora puedo ver una pantalla de Error en la consola de administración cuando bash ascender que todos los objetos de model_4 se han eliminado …

 ProgrammingError at /admin/dc_dash/model_4/ relation "dc_dash_model_4" does not exist LINE 1: SELECT COUNT(*) AS "__count" FROM "dc_dash_model_4" 

Tenga en cuenta que, si no vamos a la Consola ADMIN e intentamos ver los objetos del modelo, que ya se han eliminado, la aplicación Django funciona de la forma prevista.

Captura de pantalla del administrador de Django

Hay un par de maneras:

Para borrarlo directamente:

 SomeModel.objects.filter(id=id).delete() 

Para borrarlo de una instancia:

 instance1 = SomeModel.objects.get(id=id) instance1.delete() 

// no uses el mismo nombre