單個數據刪除
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')