最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django中更新多個對象數(shù)據(jù)與刪除對象的方法

 更新時間:2015年07月17日 11:42:52   投稿:goldensun  
這篇文章主要介紹了Django中更新多個對象數(shù)據(jù)與刪除對象的方法,Django是Python重多各色框架中人氣最高的一個,需要的朋友可以參考下

更新多個對象

例如說我們現(xiàn)在想要將Apress Publisher的名稱由原來的”Apress”更改為”Apress Publishing”。若使用save()方法,如:

>>> p = Publisher.objects.get(name='Apress')
>>> p.name = 'Apress Publishing'
>>> p.save()

這等同于如下SQL語句:

SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE name = 'Apress';

UPDATE books_publisher SET
  name = 'Apress Publishing',
  address = '2855 Telegraph Ave.',
  city = 'Berkeley',
  state_province = 'CA',
  country = 'U.S.A.',
  website = 'http://www.apress.com'
WHERE id = 52;

(注意在這里我們假設(shè)Apress的ID為52)

在這個例子里我們可以看到Django的save()方法更新了不僅僅是name列的值,還有更新了所有的列。 若name以外的列有可能會被其他的進程所改動的情況下,只更改name列顯然是更加明智的。 更改某一指定的列,我們可以調(diào)用結(jié)果集(QuerySet)對象的update()方法: 示例如下:

>>> Publisher.objects.filter(id=52).update(name='Apress Publishing')

與之等同的SQL語句變得更高效,并且不會引起競態(tài)條件。

UPDATE books_publisher
SET name = 'Apress Publishing'
WHERE id = 52;

update()方法對于任何結(jié)果集(QuerySet)均有效,這意味著你可以同時更新多條記錄。 以下示例演示如何將所有Publisher的country字段值由'U.S.A'更改為'USA':

>>> Publisher.objects.all().update(country='USA')
2

update()方法會返回一個整型數(shù)值,表示受影響的記錄條數(shù)。 在上面的例子中,這個值是2。
刪除對象

刪除數(shù)據(jù)庫中的對象只需調(diào)用該對象的delete()方法即可:

>>> p = Publisher.objects.get(name="O'Reilly")
>>> p.delete()
>>> Publisher.objects.all()
[<Publisher: Apress Publishing>]

同樣我們可以在結(jié)果集上調(diào)用delete()方法同時刪除多條記錄。這一點與我們上一小節(jié)提到的update()方法相似:

>>> Publisher.objects.filter(country='USA').delete()
>>> Publisher.objects.all().delete()
>>> Publisher.objects.all()
[]

刪除數(shù)據(jù)時要謹慎! 為了預防誤刪除掉某一個表內(nèi)的所有數(shù)據(jù),Django要求在刪除表內(nèi)所有數(shù)據(jù)時顯示使用all()。 比如,下面的操作將會出錯:

>>> Publisher.objects.delete()
Traceback (most recent call last):
 File "<console>", line 1, in <module>
AttributeError: 'Manager' object has no attribute 'delete'

而一旦使用all()方法,所有數(shù)據(jù)將會被刪除:

>>> Publisher.objects.all().delete()

如果只需要刪除部分的數(shù)據(jù),就不需要調(diào)用all()方法。再看一下之前的例子:

>>> Publisher.objects.filter(country='USA').delete()


相關(guān)文章

  • 對Python的交互模式和直接運行.py文件的區(qū)別詳解

    對Python的交互模式和直接運行.py文件的區(qū)別詳解

    今天小編就為大家分享一篇對Python的交互模式和直接運行.py文件的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 使用python把Excel中的數(shù)據(jù)在頁面中可視化

    使用python把Excel中的數(shù)據(jù)在頁面中可視化

    最近學習數(shù)據(jù)分析,感覺Python做數(shù)據(jù)分析真的好用,下面這篇文章主要給大家介紹了關(guān)于如何使用python把Excel中的數(shù)據(jù)在頁面中可視化的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python PyWebIO實現(xiàn)網(wǎng)頁版數(shù)據(jù)查詢器

    Python PyWebIO實現(xiàn)網(wǎng)頁版數(shù)據(jù)查詢器

    PyWebIO提供了一系列命令式的交互函數(shù)來在瀏覽器上獲取用戶輸入和進行輸出,將瀏覽器變成了一個“富文本終端”,可以用于構(gòu)建簡單的Web應用或基于瀏覽器的GUI應用。本文將利用PyWebIO制作一個網(wǎng)頁版的數(shù)據(jù)查詢器,感興趣的可以學習一下
    2021-12-12
  • Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決

    Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決

    在使用matplotlib作圖的時候,有的時候會遇到畫圖時顯示不全和圖片保存時不完整的問題,這篇文章主要給大家介紹了關(guān)于Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決方法,需要的朋友可以參考下
    2022-06-06
  • python使用requests設(shè)置讀取超時時間

    python使用requests設(shè)置讀取超時時間

    在Python中,使用requests庫進行網(wǎng)絡(luò)請求時,可以通過設(shè)置?timeout參數(shù)來指定讀取超時時間,本文就來介紹一下,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • NumPy中的實用函數(shù)clip詳解

    NumPy中的實用函數(shù)clip詳解

    這篇文章主要介紹了NumPy中的實用函數(shù)clip詳解,NumPy函數(shù)clip()用于保留數(shù)組中在間隔范圍內(nèi)的值,給定一個范圍,范圍外的值將剪裁到范圍邊界,需要的朋友可以參考下的相關(guān)資料
    2023-08-08
  • Python知識之列表的十個小技巧分享

    Python知識之列表的十個小技巧分享

    這篇文章主要介紹了Python知識之列表的十個小技巧分享,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 利用Python簡單的可視化工具

    利用Python簡單的可視化工具

    這篇文章講述了數(shù)據(jù)可視化的必要性,介紹了幾種常用的Python可視化庫(Matplotlib、Seaborn、Plotly、GeoPandas、Folium),并通過實例展示了如何使用這些庫進行圖表繪制和分析
    2025-01-01
  • 利用OpenCV和Python實現(xiàn)查找圖片差異

    利用OpenCV和Python實現(xiàn)查找圖片差異

    今天小編就為大家分享一篇利用OpenCV和Python實現(xiàn)查找圖片差異,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • LyScript實現(xiàn)繞過反調(diào)試保護的示例詳解

    LyScript實現(xiàn)繞過反調(diào)試保護的示例詳解

    LyScript插件中內(nèi)置的方法可實現(xiàn)各類反調(diào)試以及屏蔽特定API函數(shù)的功能,這類功能在應對病毒等惡意程序時非常有效。本文為大家提供了LyScript實現(xiàn)繞過反調(diào)試保護的示例代碼,感興趣的可以了解一下
    2022-08-08

最新評論

雅安市| 依安县| 阿瓦提县| 临海市| 江西省| 清新县| 广丰县| 正阳县| 津市市| 呼伦贝尔市| 西乡县| 延津县| 图片| 铜陵市| 民丰县| 丁青县| 金溪县| 余庆县| 昭苏县| 靖江市| 平阴县| 顺平县| 长泰县| 庆元县| 莫力| 鄂托克前旗| 周宁县| 玉山县| 榆中县| 盘山县| 阿城市| 平遥县| 军事| 方城县| 台州市| 紫阳县| 舞钢市| 乌苏市| 航空| 宝应县| 修武县|