python爬虫 django搜索修改更新数据_python应用:Django中更新多个对象数据与删除对象的方法...
Python是一種解釋型腳本語(yǔ)言,可以應(yīng)用于以下領(lǐng)域:
web和Internet開(kāi)發(fā)
科學(xué)計(jì)算和統(tǒng)計(jì)
人工智能
教育
桌面界面開(kāi)發(fā)
軟件開(kāi)發(fā)
后端開(kāi)發(fā)
網(wǎng)絡(luò)爬蟲(chóng)
更新多個(gè)對(duì)象
例如說(shuō)我們現(xiàn)在想要將Apress Publisher的名稱由原來(lái)的”Apress”更改為”Apress Publishing”。若使用save()方法,如:
這等同于如下SQL語(yǔ)句:
(注意在這里我們假設(shè)Apress的ID為52)
在這個(gè)例子里我們可以看到Django的save()方法更新了不僅僅是name列的值,還有更新了所有的列。 若name以外的列有可能會(huì)被其他的進(jìn)程所改動(dòng)的情況下,只更改name列顯然是更加明智的。 更改某一指定的列,我們可以調(diào)用結(jié)果集(QuerySet)對(duì)象的update()方法: 示例如下:
與之等同的SQL語(yǔ)句變得更高效,并且不會(huì)引起競(jìng)態(tài)條件。
update()方法對(duì)于任何結(jié)果集(QuerySet)均有效,這意味著你可以同時(shí)更新多條記錄。 以下示例演示如何將所有Publisher的country字段值由'U.S.A'更改為'USA':
update()方法會(huì)返回一個(gè)整型數(shù)值,表示受影響的記錄條數(shù)。 在上面的例子中,這個(gè)值是2。
刪除對(duì)象
刪除數(shù)據(jù)庫(kù)中的對(duì)象只需調(diào)用該對(duì)象的delete()方法即可:
同樣我們可以在結(jié)果集上調(diào)用delete()方法同時(shí)刪除多條記錄。這一點(diǎn)與我們上一小節(jié)提到的update()方法相似:
刪除數(shù)據(jù)時(shí)要謹(jǐn)慎! 為了預(yù)防誤刪除掉某一個(gè)表內(nèi)的所有數(shù)據(jù),Django要求在刪除表內(nèi)所有數(shù)據(jù)時(shí)顯示使用all()。 比如,下面的操作將會(huì)出錯(cuò):
而一旦使用all()方法,所有數(shù)據(jù)將會(huì)被刪除:
如果只需要?jiǎng)h除部分的數(shù)據(jù),就不需要調(diào)用all()方法。再看一下之前的例子:
Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。是一種面向?qū)ο蟮膭?dòng)態(tài)類型語(yǔ)言,最初被設(shè)計(jì)用于編寫(xiě)自動(dòng)化腳本(shell),隨著版本的不斷更新和語(yǔ)言新功能的添加,越多被用于獨(dú)立的、大型項(xiàng)目的開(kāi)發(fā)。
總結(jié)
以上是生活随笔為你收集整理的python爬虫 django搜索修改更新数据_python应用:Django中更新多个对象数据与删除对象的方法...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: verilog 中的 timescale
- 下一篇: python爬动态网页json_爬虫再探