TypeError: expected string or bytes-like object Django问题

错误来源

在使用Django对数据做保存、更新时,突然出现了这个这个错误:

TypeError: expected string or bytes-like object

但是仔细查看代码,只是常规的获取对象、更新字段的操作,并没有很复杂的逻辑。

问题定位与解决

经过查阅,python类的思路是正则匹配出现了问题:数据类型不匹配。
从终端输出的异常也可以看出:

...
parsed = parse_datetime(value)
match = datetime_re.match(value)
TypeError: expected string or bytes-like object

于是一步步定位,终于发现在给datetime类型的数据赋值时,最后莫名其妙加了一个逗号,这就造成了本身应该是str类型的数据,结果变成了一个tuple,因此赋值也就失败了。

因此对于这类问题,虽然python是弱类型的,但是对于已经指定类型的数据(例如Django中的model),还需要保持左右数据类型的一致。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值