国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

django ObjectDoesNotExist 和 DoesNotExist的用法

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

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

例1:

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

例2:

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

總結:ObjectDoesNotExist 和 DoesNotExist 表達的意思是相同的,只是寫法不同,一個需要導入,一個是model的屬性,如何使用看大家的個人習慣就好。

補充知識:Django入門:DoesNotExist: User matching query does not exist.

先說說引發該問題的具體代碼

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

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

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

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

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

附:try…except…語句是一個用來異常處理用法,即:當所有可能會導致程序異常點都可以使用try…except…引導程序

以上這篇django ObjectDoesNotExist 和 DoesNotExist的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 尖扎县| 五大连池市| 枣强县| 荃湾区| 资兴市| 安仁县| 宝坻区| 齐河县| 防城港市| 永和县| 九江市| 怀远县| 南陵县| 台山市| 黄龙县| 桃江县| 天水市| 南雄市| 博爱县| 南丹县| 河东区| 龙州县| 罗田县| 陆河县| 鄱阳县| 连平县| 北宁市| 洪洞县| 裕民县| 佛坪县| 璧山县| 远安县| 乌拉特中旗| 蒲城县| 敖汉旗| 文登市| 甘泉县| 长海县| 甘孜县| 乐清市| 衡南县|