python获取类名__qualname__,解决django接口ObjectDoesNotExist异常寻找model的问题

这篇具有很好参考价值的文章主要介绍了python获取类名__qualname__,解决django接口ObjectDoesNotExist异常寻找model的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在django项目中,经常使用类似Model.objects.get(id=1)的方法取对象,默认抛出的异常是ObjectDoesNotExist类型,通过try catch可以把异常捕获,获取的异常是Model.DoesNotExist类型,
要获知其类名,可以使用__name__方法
要获知其完整类名,可以使用__qualname__方法
还想要获取定义类的路径,可以使用__module__方法

参考文章: https://blog.csdn.net/NeverLate_gogogo/article/details/107519919文章来源地址https://www.toymoban.com/news/detail-634490.html

from django.core.exceptions import ObjectDoesNotExist
from variable.models import Variable
a=ObjectDoesNotExist('变量不存在')
b=Variable.DoesNotExist('变量不存在')
try:
    Variable.objects.get(id=0)
except ObjectDoesNotExist as e:
    c = e

In[3]: a.__class__
Out[3]: django.core.exceptions.ObjectDoesNotExist
In[4]: b.__class__
Out[4]: variable.models.Variable.DoesNotExist
In[5]: c.__class__
Out[5]: variable.models.Variable.DoesNotExist
In[6]: a.__class__.__name__
Out[6]: 'ObjectDoesNotExist'
In[7]: a.__class__.__qualname__
Out[7]: 'ObjectDoesNotExist'
In[8]: a.__class__.__module__
Out[8]: 'django.core.exceptions'
In[9]: b.__class__.__name__
Out[9]: 'DoesNotExist'
In[10]: b.__class__.__qualname__
Out[10]: 'Variable.DoesNotExist'
In[11]: b.__class__.__module__
Out[11]: 'variable.models'

到了这里,关于python获取类名__qualname__,解决django接口ObjectDoesNotExist异常寻找model的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python django vue httprunner 实现接口自动化平台(最终版)

    后端地址: GitHub - 18713341733/test_platform_service: django vue 实现接口自动化平台 前端地址: GitHub - 18713341733/test_platform_front: Django vue实现接口自动化平台 1.2.1 环境准备 Python = 3.8.0 (推荐3.9+版本) nodejs = 14.0 (推荐最新) 或者 16,千万不要使用18(会报错) Mysql = 5.7.0 (可选,默认数据库

    2024年02月10日
    浏览(25)
  • Python获取接口数据

    首先我们需要下载python,我下载的是官方最新的版本 3.8.3 其次我们需要一个运行Python的环境,我用的是pychram,需要库的话我们可以直接在setting里面安装  代码: - - codeing = utf-8 - -,开头的这个是设置编码为utf-8 ,写在开头,防止乱码。

    2024年02月15日
    浏览(27)
  • IDEA项目目录或类名变成红色的原因及解决办法

    在修改部分了部分代码想上传时,发现有的类名/方法名报红,但是能够编译。 类名变为红色是因为你安装了版本控制工具(例如Git,SVN等),更新了代码,没有提交上去,起提示作用,不影响实际功能。 方法一: 点击 idae 的 File Invalideate Caches / Restart 清除缓存并重启接下来

    2024年02月11日
    浏览(39)
  • 微信小程序调用本地http接口设置以及django 遇到的csrf 403错误解决方法

    1) 如果微信小程序需要和本地localhost端口进行通信联调。首先需要设置微信小程序为 ”不校验合法域名…“设置,这样就可以跳过域名安全检测,不然会出现网站不在安全名单内: 2)此时调用之后,后端会出现如下错误: 这是因为:在微信小程序端对Django后台进行POST请求

    2024年02月07日
    浏览(45)
  • idea项目中java类名出现带 j 小红点,如何解决?

    目录 一、问题描述 二、问题解决方案 1、寻找异常问题 2、解决方案 2.1常规操作方法 2.2 快速操作方法 一打开idea的java项目,发现所有的文件边上都有带J的大红点 虽然,在 git bash 中进行编译时无异常。 但是视觉上给人的感受就是有异常。 这样的异常如何解决呢? 我的操作

    2024年02月05日
    浏览(40)
  • 通过python 获取股票数据的API接口

    用法: ContextInfo.get_bar_timetag (index)。 释义:获取当前K线对应时间的时间戳。 参数:number:K线索引号。 返回:number。 示例: 用法:ContextInfo.get_ sector(sector, realtime)。 释义:获取板块成份股,只支持取指数成份股。

    2024年02月11日
    浏览(28)
  • 快速获取星座排盘API接口- python版

    根据输入的参数,查看某个星座的信息。 API:https://www.tanshuapi.com/market/detail-93 接口python请求示例 返回内容介绍: 根据出生的年月日,确定你的排盘等信息。 API:https://www.tanshuapi.com/market/detail-79 接口python请求示例 接口返回示例

    2024年02月01日
    浏览(49)
  • 如何利用python调用API接口获取数据进行测试

    一、Python 可以使用 requests 库来调用 API 接口获取数据。以下是基本的步骤: 1.安装 requests 库 pip install requests 2.导入 requests 库 import requests 3.构建 API 请求的 URL 根据 API 文档,构建请求的URL。 例如,  https://api.example.com/posts  是获取所有帖子的 URL。 4.发送 API 请求 使用  requ

    2024年02月11日
    浏览(39)
  • Python对接微信小程序V3接口进行支付,并使用uwsgi+nginx+django进行https部署

    网上找了很多教程,但是很乱很杂,并且教程资源很少且说的详细。这里就记录一下分享给大家 共分为以下几个步骤: 目录 一、开始前准备信息 二、使用前端code获取用户的openid 三、对接小程序v3接口下单 四、小程序支付的回调 五、安装并启动uwsgi 六、安装并启动nginx 七、

    2024年02月12日
    浏览(33)
  • 【解决方法】锐捷 EVE 模拟器中 VPC 无法通过 DHCP 获取 IP 地址,改用接口获取地址

    工具:锐捷 EVE 模拟器,VMware Workstation Pro 远程工具:SecureCRT 系统版本:Windows 10 描述:一个简单的 DHCP 环境,使用 VPC 充当 PC 客户机,IP 地址获取为 DHCP 方式。但在发送 request 数据包后,服务器服务器已经把地址租用出去,但 VPC 中并没有收到 ACK 数据包,并没有正常获取到

    2024年02月09日
    浏览(108)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包