Django-16 ORM 删除操作
2021-07-15 本文已影响0人
JuliusL
单个数据删除
1,查找查询结果对应的一个数据对象
2,调用这个数据对象的delete()方法实现删除
try:
auth = Author.objects.get(id=1)
auth.delete()
except:
print("删除失败")
批量删除
1,查找查询结果集满足条件的全部QuerySet查询集合对象
2,调用查询集合对象的delete()方法实现删除
伪删除
- 通常不会轻易在业务里把数据真正删除,取而代之的是做伪删除,即在一个表里加一个布尔类型字段(is_delete),默认是False,删除时将其改为True,然后在查询数据的时候要过滤该字段。
例子
def delete(request):
book_id = request.GET.get('book_id')
if not book_id:
return HttpResponse("--请求异常")
try:
book = Book.objects.get(id=book_id,is_delete=False)
except:
print('---delete book errer is %s'%(e))
return HttpResponse('The book is not existed')
book.is_delete = True
book.save()
return HttpResponseRedirect('/bookstore/all_book')