最新国产好看的视频,伊人天堂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;

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

在這個例子里我們可以看到Django的save()方法更新了不僅僅是name列的值,還有更新了所有的列。 若name以外的列有可能會被其他的進程所改動的情況下,只更改name列顯然是更加明智的。 更改某一指定的列,我們可以調用結果集(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()方法對于任何結果集(QuerySet)均有效,這意味著你可以同時更新多條記錄。 以下示例演示如何將所有Publisher的country字段值由'U.S.A'更改為'USA':

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

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

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

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

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

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

刪除數(shù)據(jù)時要謹慎! 為了預防誤刪除掉某一個表內的所有數(shù)據(jù),Django要求在刪除表內所有數(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ù),就不需要調用all()方法。再看一下之前的例子:

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


相關文章

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

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

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

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

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

    python使用requests設置讀取超時時間

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

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

    這篇文章主要介紹了NumPy中的實用函數(shù)clip詳解,NumPy函數(shù)clip()用于保留數(shù)組中在間隔范圍內的值,給定一個范圍,范圍外的值將剪裁到范圍邊界,需要的朋友可以參考下的相關資料
    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)繞過反調試保護的示例詳解

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

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

最新評論

新兴县| 镇巴县| 江安县| 卫辉市| 尉犁县| 霞浦县| 文成县| 彭州市| 息烽县| 格尔木市| 武胜县| 定日县| 台湾省| 凌海市| 长宁区| 苍山县| 扶沟县| 西平县| 新竹市| 云浮市| 宣化县| 德令哈市| 镇安县| 恩平市| 临泽县| 嫩江县| 阆中市| 宣武区| 福安市| 天峨县| 汤原县| 开封市| 平顺县| 弋阳县| 巩留县| 河源市| 保亭| 师宗县| 柘荣县| 明溪县| 安丘市|