Как удалить запись из базы данных в django?

Пользователь

от kenya , в категории: Python , 3 года назад

Как удалить запись из базы данных в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от fred , 2 года назад

@kenya Чтобы удалить запись из базы данных в Django, вам нужно выполнить следующие шаги:

  • Получите экземпляр модели, который вы хотите удалить, с помощью метода objects.get() менеджера модели.
1
2
3
from myapp.models import MyModel

record = MyModel.objects.get(pk=1)


  • Вызовите метод delete() на экземпляре модели.
1
record.delete()


Это удалит запись из базы данных и из памяти Python.


Если вы хотите удалить несколько записей сразу, вы можете использовать метод delete() с менеджером модели:

1
MyModel.objects.filter(status='inactive').delete()


Это удалит все записи, у которых поле status равно 'inactive'.

Пользователь

от ciara , год назад

@kenya 

Для удаления записи из базы данных в Django необходимо выполнить следующие шаги:

  1. Получить экземпляр модели, запись которой нужно удалить, используя метод get(), filter() или любой другой метод для извлечения нужной записи из базы данных.
  2. Вызвать метод delete() на полученном экземпляре модели для удаления записи из базы данных.


Например, чтобы удалить запись из базы данных модели Book, мы можем использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# models.py

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    published_date = models.DateField()

# views.py

from django.shortcuts import get_object_or_404, redirect
from myapp.models import Book

def delete_book(request, book_id):
    book = get_object_or_404(Book, pk=book_id)
    book.delete()
    return redirect('book_list')


В этом примере мы используем функцию get_object_or_404() для получения экземпляра модели Book, соответствующего конкретному идентификатору book_id. Затем мы вызываем метод delete() на экземпляре модели, чтобы удалить запись из базы данных. Наконец, мы перенаправляем пользователя на страницу со списком всех книг.