久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

django ObjectDoesNotExist 和 DoesNotExist的用法

瀏覽:183日期:2024-09-27 14:31:49

舉例吧,這樣更容易看的懂。

例1:

from django.core.exceptions import ObjectDoesNotExisttry: pe = Plant.objects.get(id=12873)except ObjectDoesNotExist: print 'uuuu'uuuu# 我隨意找了一個(gè)id=12873的對(duì)象來查詢,當(dāng)然,數(shù)據(jù)庫里沒有這個(gè)id,可以看到結(jié)果正常的打印出來

例2:

try: pe = Plant.objects.get(id=12873)except Plant.DoesNotExist: print 'rrr'rrr# 結(jié)果也如期打印,那么來看看model的屬性dir(Plant) [’DoesNotExist’, ’MultipleObjectsReturned’, ’__class__’, ’__delattr__’, ’__dict__’, ’__doc__’, ......# DoesNotExist正在其中

總結(jié):ObjectDoesNotExist 和 DoesNotExist 表達(dá)的意思是相同的,只是寫法不同,一個(gè)需要導(dǎo)入,一個(gè)是model的屬性,如何使用看大家的個(gè)人習(xí)慣就好。

補(bǔ)充知識(shí):Django入門:DoesNotExist: User matching query does not exist.

先說說引發(fā)該問題的具體代碼

User.objects.filter(username=’sss’).get().username

當(dāng)在py腳本中使用以上代碼進(jìn)行username是否等于“sss”判斷時(shí),如果搜索username的值等于“sss”時(shí),其返回正確的結(jié)果,但如果搜索中不存在“sss”時(shí),會(huì)返回如標(biāo)題的錯(cuò)誤(DoesNotExist: User matching query does not exist.),程序終止運(yùn)行。終止運(yùn)行意味著后面的代碼不再被執(zhí)行,故而得不到自己想要的結(jié)果。

由此問題可以延伸到:遇到同類問題可以怎么解決:

可以使用try…except…語句將可能會(huì)導(dǎo)致程序終止的語句包涵其中,具體寫法如下:

try: User.objects.filter(username=username).get().usernameexcept: pass

附:try…except…語句是一個(gè)用來異常處理用法,即:當(dāng)所有可能會(huì)導(dǎo)致程序異常點(diǎn)都可以使用try…except…引導(dǎo)程序

以上這篇django ObjectDoesNotExist 和 DoesNotExist的用法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 大新县| 黑水县| 垦利县| 富蕴县| 汉寿县| 孝感市| 桦甸市| 且末县| 浦江县| 凤翔县| 屏边| 红河县| 凤城市| 阳江市| 松溪县| 新龙县| 军事| 五寨县| 屯门区| 松阳县| 陈巴尔虎旗| 岗巴县| 会理县| 阳东县| 西青区| 白水县| 夏津县| 阳西县| 墨玉县| 湟中县| 常熟市| 正镶白旗| 天峨县| 巴林左旗| 芮城县| 二手房| 巫溪县| 凌云县| 吉林省| 车险| 宾川县|