Хостинг Django от «Джино»
Table of contents

Удаление объектов

Для удаления объектов следует использовать метод delete():

>>> p = Publisher.objects.get(name="O'Reilly")
>>> p.delete()
>>> Publisher.objects.all()
[<Publisher: Apress Publishing>]

Вы также можете удалять сразу несколько объектов, для этого надо вызвать метод delete() объекта QuerySet. Эта методика аналогична использованию метода update(), описанному в предыдущем разделе:

>>> Publisher.objects.filter(country='USA').delete()
>>> Publisher.objects.all().delete()
>>> Publisher.objects.all()
[]

Будьте осторожны во время удаления своих данных! В качестве меры предосторожности против случайного удаления всех данных в таблице Django требует явного использования метода all() для удаления всех записей таблицы. Этот пример не сработает:

>>> Publisher.objects.delete()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'Manager' object has no attribute 'delete'

Но сразу станет работать, если вы добавите метод all():

>>> Publisher.objects.all().delete()

Если вам потребуется удалить выделенный набор записей, в таком случае не требуется использовать метод all(). Повторим предыдущий пример:

>>> Publisher.objects.filter(country='USA').delete()


Ищем Python программистов

Found misprint?
Select it with the mouse and hit Enter
Ctrl-Enter
Processed:
33 1 199 25


The full repository of DjangoBook translation you can get on GitHub.
We appreciate your patches!

We are glad to hear your questions, comments or suggestions!
(Open in new tab)

Users number: 601

Русская группа

на поддержку перевода
Яндекс Яндекс.Деньги Хочу такую же кнопку
Ускорить процесс перевода!
ЯМ:41001223475816


© 2008-2012 Ruslan Popov @ gmail.com Powered by Django 1.2.5