Django中的delete()
函数是用于删除符合特定条件的数据库记录的。下面就是使用delete()
函数的一些攻略和实例。
语法
Model.objects.filter(条件).delete()
其中,Model
是对应数据库表的模型类,条件则是符合要求的数据过滤条件。
使用方法
- 删除单条记录
如果要删除一条记录,可以通过获取单条记录的方式,即通过get()
方法获取要删除的对象,然后通过调用delete()
方法来删除:
from myapp.models import MyModel
obj = MyModel.objects.get(id=1)
obj.delete()
- 删除多条记录
如果要删除多条记录,可以通过filter()
方法筛选出符合条件的多条记录,然后再调用delete()
方法来删除:
MyModel.objects.filter(name='test').delete()
实例说明
假设有一个博客网站,数据库中有两个模型类Author
和Blog
,其中Author
模型类代表作者,Blog
模型类代表博客文章。下面,我们以这个博客网站为例进行演示。
- 删除单条记录
假设要删除一篇标题为”My First Blog”的文章,代码如下:
from myapp.models import Blog
obj = Blog.objects.get(title='My First Blog')
obj.delete()
- 删除多条记录
假设要删除所有作者名为”小明”的博客文章,代码如下:
from myapp.models import Author, Blog
author = Author.objects.get(name='小明')
Blog.objects.filter(author=author).delete()
其中,author=author
是用来筛选符合条件的博客文章的条件,即筛选出作者是author
的博客文章。最后调用delete()
方法来删除所有符合条件的博客文章。