python接口字段判空报错:KeyError_keyerror: 'id-程序员宅基地

技术标签: python  测试辅助+问题处理  数据库  flask  sql  

当接口某字段需要判断是否填入时,编写为:

def update_single_api(data):
    if data['id'] is None:
        sql = f'INSERT INTO `p_api_info`( `name`, `url`,`create_time`) ' \
              f'VALUES ( "{data["name"]}", "{data["url"]}", "{ComFunc.get_time()}") '
    else:
        sql = f'UPDATE `p_api_info` SET `name` = "{data["name"]}", `url` = "{data["url"]}"}" WHERE `id` = {data["id"]}'
    return sql

以上面这种格式编写判断id是否存在,如果接口传入没有id这个key或者有id但是为空情况,会报错KeyError:id。修改为下面这种方式使用get的形式去判断即可

def update_single_api(data):
    if data.get('id') == None or data.get('id') == '':
        sql = f'INSERT INTO `p_api_info`( `name`, `url``create_time`) ' \
              f'VALUES ( "{data["name"]}", "{data["url"]}", "{ComFunc.get_time()}") '
    else:
        sql = f'UPDATE `p_api_info` SET `name` = "{data["name"]}", `url` = "{data["url"]}"}" WHERE `id` = {data["id"]}'
    return sql
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Meseiter/article/details/127203708

智能推荐

Centos-部署django项目_centos django-程序员宅基地

文章浏览阅读754次。如何部署一个好的django项目到Centos服务器上面去了,下面来记录一下1:将项目拷贝到Centos服务器上,不管是xftp,还是scp,还是lrzsz,看自己的爱好了,我这里用的是xftp(xftp和xshell配合起来食用,效果更佳哦)2:这里我们将开发的好的study项目压缩包上传到服务器的/op/test目录下面3:解压缩,放到上一级目录,解压地址看自己爱好unzip test.zip ../4:新建一个虚拟环境,专门用来运行此项目,这里我们用ven3来做试验[root@lo_centos django

json转xml、xml转json_new jsonxmlconfigbuilder()的方法-程序员宅基地

文章浏览阅读3.5w次,点赞7次,收藏50次。一、jar包所需jar包二、xml2json方法一:使用json-lib代码:public String xml2json(String xml) { //创建XMLSerializer对象 XMLSerializer xmlSerializer = new XMLSerializer(); //将xml转化为json..._new jsonxmlconfigbuilder()的方法

vue3——自己实现复选框效果组件封装_vue3 combox组件-程序员宅基地

文章浏览阅读752次。目录前言一、封装的意义二、如何封装?1. 封装2. 使用3. @vueuse/core实现三、 效果演示总结前言复选框的效果在网页中很常见,那么你知道复选框是如何实现的吗?还不会的话快来看看,看完后你就可以自己实现复选框的封装了~一、封装的意义复用性更好代码可维护性可以拓展其他业务二、如何封装?使用到的字体图标为阿里CDN上的字体图标资源,在public/index.html的head标签中引入即可<link rel="stylesheet" href="//at.alicd_vue3 combox组件

异步提交一张或多张图片和表单数据_form表单提交多张图片-程序员宅基地

文章浏览阅读1.1k次。$.ajaxMutiUpload({ url:'test.php', fileElementId: "file1,file2", dataType: 'json', data:{name:‘name’, id:'id'}, success: function(data){ alert(data.pic) } }_form表单提交多张图片

风速预测 | Python基于CEEMDAN-CNN-Transformer+ARIMA的风速时间序列预测_arima和transformer-程序员宅基地

文章浏览阅读1.2k次,点赞18次,收藏19次。风速预测 | Python基于CEEMDAN-CNN-Transformer-ARIMA的风速时间序列预测_arima和transformer

微信小程序 自定义modal弹窗组件_u-modal 传入自定义按钮,用于在微信小程序弹窗通过按钮授权的场景-程序员宅基地

文章浏览阅读2.2w次,点赞15次,收藏81次。微信小程序开发中官方自带的wx.showModal API有时候并不能满足我们的弹窗效果,所以往往需要自定义modal组件。下面我们进行一个自定义modal弹窗组件的开发,并进行组件的引用,组件可自定义底部是一个还是两个按钮。效果如下。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20181225171901747.png?x-oss-proc..._u-modal 传入自定义按钮,用于在微信小程序弹窗通过按钮授权的场景

随便推点

【预测模型】基于狼群算法优化BP神经网络实现预测matlab源码_狼群算法优化bp matlab-程序员宅基地

文章浏览阅读300次。一、简介BP神经网络具有很好的拟合非线性函数的能力,但传统BP算法收敛慢,容易陷入局部极小值.不少研究人员从BP神经网络的初始权值和阈值着手,期望通过对初始权值和阈值的优化来提高BP神经网络的性能.对此提出一种改进BP神经网络的算法,使用狼群算法优化BP神经网络的初始权值和阈值,用数据训练BP神经网络后预测函数的输出.最后通过一个非线性函数来验证所提出模型的有效性.二、源代码```matlab%% WPA-BP神经网络%% 清空环境clear all;clos_狼群算法优化bp matlab

Pyspark学习笔记(二)--- spark部署及spark-submit命令简介_pyspark和spark-submit-程序员宅基地

文章浏览阅读2.2k次。Pyspark学习笔记(二)--- spark-submit命令非交互式应用程序,通过spark-submit命令提交任务,官方讲解如下链接所示http://spark.apache.org/docs/latest/submitting-applications.html#submitting-applications,spark-submit脚本位于spark安装目录下的bin文件夹内,该命令利用可重用的模块形式编写脚本,以编程方式提交任务到Spark上去,并可以支持......._pyspark和spark-submit

docker 搭建jenkins, 宿主机挂载路径uid,gid均正确却还报Permission denied,请考虑是否是selinux缘故_uid 1000 has no permission to perform this operati-程序员宅基地

文章浏览阅读2.7k次。1)创建jenkins容器:docker run -d --name jenkins -p 8080:8080 -p 8081:8081 -v /var/jenkins_home:/var/jenkins_home jenkins(note:docker中jenkins的uid,gid默认都是1000,因此宿主机的路径必须也要设置成相同的权限)2)检查容器状态:dock_uid 1000 has no permission to perform this operation

Ubuntu下Docker常用命令小结_ubuntu启动docker命令-程序员宅基地

文章浏览阅读2.2k次。【代码】实时查看Ubuntu显存和内存情况。_ubuntu启动docker命令

cnn在sentence分类和向量实验_一维cnn代码分类-程序员宅基地

文章浏览阅读1.3k次。cnn简介其中: 每一个行是一个word2vec的向量。 共n行,代表n个词。 然后卷积运算,窗口是3,4,5。输入层 如图所示,输入层是句子中的词语对应的word vector依次(从上到下)排列的矩阵,假设句子有 n 个词,vector的维数为 k ,那么这个矩阵就是 n×k的。这个矩阵的类型可以是静态的(static),也可以是动态的(non static)。静态就是word ve_一维cnn代码分类

虾皮校招面试题:TCP 四次挥手,变成三次可行吗?_面试4次挥手为什么不能3次-程序员宅基地

文章浏览阅读124次。TCP 四次挥手中,能不能把第二次的 ACK 报文, 放到第三次 FIN 报文一起发送?虽然我们在学习 TCP 挥手时,学到的是需要四次来完成 TCP 挥手,但是在一些情况下, TCP 四次挥手是可以变成 TCP 三次挥手的。而且在用 wireshark 工具抓包的时候,我们也会常看到 TCP 挥手过程是三次,而不是四次,如下图:先来回答为什么 RFC 文档里定义 TCP 挥手过程是要四次?再来回答什么情况下,什么情况会出现三次挥手?为什么 TCP 挥手需要四次?TCP 四次挥手的过程如下:具体过程:客户端_面试4次挥手为什么不能3次

推荐文章

热门文章

相关标签