Django-16 ORM 刪除操作 單個數據刪除 批量刪除 僞刪除 例子

單個數據刪除

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')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章