成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

django刪除數(shù)據(jù)庫數(shù)據(jù)的方法-創(chuàng)新互聯(lián)

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

按需求定制開發(fā)可以根據(jù)自己的需求進行定制,成都網(wǎng)站設計、做網(wǎng)站構(gòu)思過程中功能建設理應排到主要部位公司成都網(wǎng)站設計、做網(wǎng)站的運用實際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實際意義

這篇文章主要介紹django刪除數(shù)據(jù)庫數(shù)據(jù)的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在用django操作數(shù)據(jù)庫之前,我們先需要知道什么是orm。

什么是ORM?

ORM(對象關系映射)指用面向?qū)ο蟮姆椒ㄌ幚頂?shù)據(jù)庫中的創(chuàng)建表以及數(shù)據(jù)的增刪改查等操作。

簡而言之,就是將數(shù)據(jù)庫的一張表當作一個類,數(shù)據(jù)庫中的每一條記錄當作一個對象。在Django中定義一個類,就是在數(shù)據(jù)庫中創(chuàng)建一張表格。在Django中實例化一個類的對象,就是在數(shù)據(jù)庫中增加了一條記錄。在Django中刪除一個對象,就是在數(shù)據(jù)庫中刪除了一條記錄。在DJango中更改一個對象的屬性,就是在數(shù)據(jù)庫中修改一條記錄的值。在django中遍歷查詢對象的屬性值,就是在數(shù)據(jù)庫中查詢記錄的值。

下面是幾條django的views視圖函數(shù)中的命令語句。

一,增(create,save)

from app01.models import *    #create方式一:   Author.objects.create(name='Alvin')
    #create方式二:   Author.objects.create(**{"name":"alex"})
    #save方式一:     author=Author(name="alvin") author.save()    #save方式二:     author=Author()
                    author.name="alvin"
                    author.save()

注意,增加時create+save兩個組合,create是增的動作,save是加的動作,缺一個都不中。

二,刪(delete)

>>> Book.objects.filter(id=1).delete()
(3, {'app01.Book_authors': 2, 'app01.Book': 1})

如果是多對多的關系: remove()和clear()方法:

#正向book = models.Book.objects.filter(id=1)#刪除第三張表中和女孩1關聯(lián)的所有關聯(lián)信息book.author.clear()        #清空與book中id=1 關聯(lián)的所有數(shù)據(jù)book.author.remove(2)  #可以為idbook.author.remove(*[1,2,3,4])     #可以為列表,前面加*#反向author = models.Author.objects.filter(id=1)
author.book_set.clear() #清空與boy中id=1 關聯(lián)的所有數(shù)據(jù)

 三,改(update和save)

#---------------- update方法直接設定對應屬性----------------
   models.Book.objects.filter(id=3).update(title="PHP")    ##sql:
   ##UPDATE "app01_book" SET "title" = 'PHP' WHERE "app01_book"."id" = 3; args=('PHP', 3)

#--------------- save方法會將所有屬性重新設定一遍,效率低-----------
   obj=models.Book.objects.filter(id=3)[0]
   obj.title="Python"
   obj.save()# SELECT "app01_book"."id", "app01_book"."title", "app01_book"."price", # "app01_book"."color", 
   "app01_book"."page_num", # "app01_book"."publisher_id" FROM "app01_book" WHERE "app01_book"."id" = 3 LIMIT 1; #
    # UPDATE "app01_book" SET "title" = 'Python', "price" = 3333, "color" = 'red', "page_num" = 556,# 
    "publisher_id" = 1 WHERE "app01_book"."id" = 3;

四,查(update和save)

# 查詢相關API:#  <1>filter(**kwargs):      它包含了與所給篩選條件相匹配的對象
# <2>all():    查詢所有結(jié)果
#  <3>get(**kwargs):返回與所給篩選條件相匹配的對象,返回結(jié)果有且只有一個,如果符合篩選條件的對象超過一個或者沒有都會
拋出錯誤。#-----------下面的方法都是對查詢的結(jié)果再進行處理:比如 objects.filter.values()--------
#  <4>values(*field):   返回一個ValueQuerySet——一個特殊的QuerySet,運行后得到的并不是一系列 model的實例化對象,
而是一個可迭代的字典序列
#  <5>exclude(**kwargs): 它包含了與所給篩選條件不匹配的對象
#  <6>order_by(*field):  對查詢結(jié)果排序
#  <7>reverse(): 對查詢結(jié)果反向排序
#  <8>distinct(): 從返回結(jié)果中剔除重復紀錄
#  <9>values_list(*field):   它與values()非常相似,它返回的是一個元組序列,values返回的是一個字典序列
#  <10>count():   返回數(shù)據(jù)庫中匹配查詢(QuerySet)的對象數(shù)量。
# <11>first():    返回第一條記錄
# <12>last():  返回最后一條記錄
#  <13>exists(): 如果QuerySet包含數(shù)據(jù),就返回True,否則返回False。

以上是django刪除數(shù)據(jù)庫數(shù)據(jù)的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!

本文名稱:django刪除數(shù)據(jù)庫數(shù)據(jù)的方法-創(chuàng)新互聯(lián)
當前鏈接:http://jinyejixie.com/article30/djsjpo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供GoogleApp開發(fā)、網(wǎng)站制作手機網(wǎng)站建設、網(wǎng)站導航網(wǎng)頁設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設
济南市| 句容市| 大理市| 德兴市| 华容县| 滨州市| 双辽市| 莎车县| 远安县| 吉安县| 陵川县| 巴青县| 建平县| 驻马店市| 枝江市| 中阳县| 武隆县| 桦甸市| 信丰县| 南城县| 五华县| 河北区| 和林格尔县| 囊谦县| 三河市| 河津市| 玉田县| 江华| 石林| 黔东| 洛南县| 紫阳县| 马尔康县| 自治县| 万州区| 临澧县| 鄂伦春自治旗| 临武县| 太仓市| 东城区| 灵宝市|