for column 'time_arrival' at row 1 如果数据库是SQL Server,那是不出问题的,但我用的是MySQL。解决办法是加个判断,如果time_arrival为空,那么把其值改为None,代码如下:这样在插主数据的时候,time_arrival等于None,而不是''。这两个小问题分享给新手们,希望我走的弯路大家别再走了!
python + element ui使用日期时间选择器遇到的问题
第一个问题:
当前台的DateTimePicker有值时,传到后台也就是python,取到的值却是None;
如果前台DateTimePicker没有值,则后台什么也没有,这很正常,我不理解的是有值获取到的却是None。
先上图,前台测试输入的值:
python打印出来的结果:
可以看到我测试的时候,预约面试时间是有值的,而实际到场时间处为空,第二图是python取到的值,而我敢肯定变量名没有错。
研究了半天,才发现是element ui的DateTimePicker控件默认时间格式的问题,虽然我输入的是“2023-01-08 12:00:00”,但在前台它返回的是 Sun Jan 08 2023 00:00:00 GMT+0800,看图:
就是说python拿到值的不是我输入的“”,而python应该不认识它,才返回None,所以解决办法就是把它的格式换成python认识的,在前端的DateTimePicker控件加入value-format="yyyy-MM-dd hh:mm:ss",就可以解决。
这是个小问题,但真的很坑!
第二个问题:
实际业务是这样,比如面试时间定为3天后,所以现在(我提交表单的这一刻)就不存在他实际到场的时间,这个值肯定为空,延伸下去的话,还有入职时间、转正时间,还有可能发生的离职时间。问题是,所谓的入职、转正等行为都没有发生时,相应的值也只能为空。
现在就拿预约时间和实际到场时间来所,我把它们放在一个表单上,python拿值的时候也一定是一起拿
可当我写数据库时却报错:
1292 - Incorrect datetime value: '' for column 'time_arrival' at row 1
如果数据库是SQL Server,那是不出问题的,但我用的是MySQL。
解决办法是加个判断,如果time_arrival为空,那么把其值改为None,代码如下:
这样在插主数据的时候,time_arrival等于None,而不是''。
这两个小问题分享给新手们,希望我走的弯路大家别再走了!2024-08-18