Удалить запись модели в Django

Удалить запись модели в Django

Vaibhav Vaibhav Jul-18, 2021 Jun-29, 2021 Django Django Model

Django - это универсальный фреймворк, который позволяет нам очень быстро создавать полнофункциональные приложения. Django эффективно справляется с большинством сложных и основных задач, связанных со всеми веб-приложениями, поэтому разработчикам не нужно писать их с нуля.

К счастью, Django прекрасно обращается с базами данных и упрощает взаимодействие с ними. Хотя необработанные SQL-запросы могут быть написаны в Django, это позволяет нам взаимодействовать с базой данных и таблицами с помощью Python - мы можем очень быстро эффективно выполнять операции CRUD над базами данных с помощью Python.

В этой статье мы познакомимся с функцией удаления операции CRUD и продемонстрируем, как вы можете удалить запись модели в Django.

Удаление записи модели с помощью метода delete() в Django

Все объекты или экземпляры модели в Django имеют метод delete(), который можно использовать для удаления этой записи. Теперь этот метод delete() можно также использовать для удаления отдельной записи и их группы.

Чтобы удалить одну запись, мы будем использовать следующий код:

record = ModelName.objects.get(id = 25)
record.delete()

Метод get() выбирает запись с id равным 25 и затем удаляет ее. Но если запись не найдена, возникает исключение. Чтобы этого избежать, мы можем использовать блок try...except следующим образом:

try:
    record = ModelName.objects.get(id = 25)
    record.delete()
    print("Record deleted successfully!")
except:
    print("Record doesn't exists")

Если нам нужно удалить все записи, мы можем вызвать эту функцию delete() для QuerySet, содержащего все записи. Код ниже выполняет ту же операцию:

records = ModelName.objects.all()
records.delete()

Как упоминалось выше, мы можем вызвать эту функцию delete() в QuerySet; это означает, что мы также можем вызвать эту функцию для QuerySet некоторых отфильтрованных записей. Обратитесь к следующему коду для того же вывода:

records = ModelName.objects.filter(firstName = "Vaibhav")
records.delete()
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

Сопутствующая статья - Django Model

  • Мета-класс в моделях Django
  • Функция параметра On_delete в моделях Django