Django 1.11 удаляет все объекты из таблицы базы данных -
Entry.objects.all().delete() ## Entry being Model Name.
См. Здесь официальную документацию по Django, как указано ниже - https://docs.djangoproject.com/en/1.11/topics/db/queries/#deleting-objects
Обратите внимание, что delete () - единственный QuerySetметод, который не выставляется на самого менеджера.Это механизм безопасности, который предотвращает случайный запрос Entry.objects.delete () и удаление всех записей.Если вы хотите удалить все объекты, вам нужно явно запросить полный набор запросов:
Я сам попробовал фрагмент кода, показанный ниже, в моем 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)
ив моем views.py
у меня есть представление, которое просто отображает html-страницу ...
def data_del_4(request):
obj = calc_2() ##
obj.del_model_4()
return render(request, 'dc_dash/data_del_4.html') ##
он прекратил удаление всех записей из - model == model_4, но теперь я вижу экран ошибки в Adminконсоль, когда я пытаюсь убедить, что все объекты model_4 были удалены ...
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"
Учтите, что если мы не пойдем в консоль ADMIN и попытаемся увидеть объекты модели, которые имеютуже был удален - приложение Django работает так, как задумано.
снимок экрана администратора django