真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

Django框架如何操作增刪改查-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網整合營銷推廣、網站重做改版、朗縣網站定制設計、自適應品牌網站建設、H5建站商城網站建設、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為朗縣等各大城市提供網站開發(fā)制作服務。

本篇文章給大家分享的是有關Django框架如何操作增刪改查,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Django之orm對MysqL數(shù)據(jù)庫的增刪改查操作簡介:

利用Django中orm來查找數(shù)據(jù)庫中的數(shù)據(jù),對數(shù)據(jù)庫進行增、刪、改、查:

增:               

新增數(shù)據(jù)
# 操作數(shù)據(jù)庫user表新增記錄
# 方式1:
user_obj = models.User.objects.create(name=username,password=password)
# 方式2:
user_obj = models.User(name=username,password=password)
user_obj.save()  # 對象調用save方法保存到數(shù)據(jù)庫

Django框架如何操作增刪改查Django框架如何操作增刪改查

Django框架如何操作增刪改查

查:          

user_list = models.User.objects.all()  # 獲取user表所有的數(shù)據(jù)(QuerySet對象)
# 只要是QuerySet就可以點query查看獲取到當前QuerySet對象的內部sql語句
user_obj = models.User.objects.all().first()   #從上面所有數(shù)據(jù)的QuerySet對象中取出第一個用戶對象
user_list = models.User.objects.filter(password=555)
# filter過濾,查找條件password=555的所有用戶數(shù)據(jù),返回結果user_list為QuerySet對象(裝有查詢到的全部用戶數(shù)據(jù)對象的一
個容器)
user_obj = models.User.objects.filter(password=555).first()
# 取出剛才容器中的第一個用戶數(shù)據(jù)對象。

Django框架如何操作增刪改查Django框架如何操作增刪改查

Django框架如何操作增刪改查

Tips:除了用filter定位表記錄的方法,還可以使用.get()方法:

user_obj = models.User.objects.get(password='555')
這樣查會報錯:get() returned more than one User -- it returned 2!
原因:用get方法是直接獲取單數(shù)據(jù)對象本身,報錯的原因在于根據(jù)password='555'查詢的數(shù)據(jù)是2個結果,那么就不是單個數(shù)據(jù)對象,
所以就報錯了!
強調:用get方法查詢條件不存在的時候會直接報錯。
所以:不推薦使用get,推薦使用filter查詢,就算條件不存在,會返回一個空的QuerySet對象
( 

這里引入一個小點:將查詢到的的所有表記錄傳給html文件,進行頁面渲染之后展現(xiàn)給用戶。

templates文件夾內創(chuàng)建user_list.html文件:




    
    Title
    
    
    


    
        
            

用戶數(shù)據(jù)表

                                                                                                        ID                             name                             password                                                                                            {% for user_obj in user_list %}                                                              {{ user_obj.pk }}                                 {{ user_obj.name }}                                 {{ user_obj.password }}                                                      {% endfor %}                                                   
        
    

Django框架如何操作增刪改查

創(chuàng)建一個展示用戶數(shù)據(jù)的url路徑:

my_Dproject/my_Dproject/urls.py中添加:

url(r'^user_list/', views.user_list)

創(chuàng)建路徑函數(shù):

my_Dproject/app01/views.py中加函數(shù):

def user_list(request):
    user_list = models.User.objects.all()
    return render(request, 'user_list.html', {"user_list": user_list})

后面的字典還可以替換成locals(),代表函數(shù)內所有變量我當做參數(shù)傳進前面的html文件中,進行動態(tài)頁面渲染:

return render(request, 'user_list.html', locals())

Django框架如何操作增刪改查

開啟my_Dproject項目,在瀏覽器輸入url:http://127.0.0.1:8000/user_list/

Django框架如何操作增刪改查

這就是剛才我們通過增的操作,創(chuàng)建的user表和表中的2條記錄。

改:              

首先需要明白一點:改是建立在已經查到的數(shù)據(jù)基礎上修改對應字段值的,所以改的前提必須有一個查的過程:

鎖定單個表記錄,用filter:

user_obj = models.User.objects.filter(id=edit_id).first()# 再次強調如果不加.first(),返回的結果是一個QuerySet對象,而
不是用戶數(shù)據(jù)對象
改:
方式一:
models.User.objects.filter(id=edit_id).upadte(name='banana', password='666')
注意:方式一update修改的數(shù)據(jù)可能不是一條記錄,有可能把查詢到的多條記錄的name和password的值全部改成banana和666,類似
于批量操作。
當然如果能確定filter對象的唯一性比如條件為primary_key的id那么查找的數(shù)據(jù)肯定是一條記錄,這樣也可看作單個記錄修改。
方式二:
user_obj = models.User.objects.filter(id=edit_id).first()user_obj.name = 'banana'user_obj.name = '666'user_obj.save()

編輯對象獲取方式:

我們在表記錄修改的時候一般都是需要獲取到該條表記錄的主鍵id值,這樣就能精確定位修改該條記錄了。所以需要一些手段來傳遞id值:

編輯對象的id的獲取方式

方式1:

利用input隱藏一個標簽

方式2:

form表單中加入GET請求數(shù)據(jù),在views函數(shù)方法中通過request.GET.get(edit_id)來獲取需要修改的id。

(雖然請求方式是POST,但可以在標簽內加入GET請求參數(shù),在views函數(shù)中能夠同時通過request.POST和request.GET方法拿到不同

的數(shù)據(jù))

刪:             

刪除和修改方法類似:

方法一:

models.User.objects.filter(password='555').delete()  # 會將queryset所有的數(shù)據(jù)對象全部刪除

方法二:

user_obj = models.User.objects.filter(password='555').first()
user_obj.delete()

最后補充一張Web框架實現(xiàn)的最基礎的流程圖:

Django框架如何操作增刪改查

以上就是Django框架如何操作增刪改查,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)-成都網站建設公司行業(yè)資訊頻道。


本文標題:Django框架如何操作增刪改查-創(chuàng)新互聯(lián)
當前地址:http://weahome.cn/article/ccddci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部