文章内容

2020/12/22 15:26:52,作 者: 黄兵

sqlalchemy.exc.StatementError: (builtins.TypeError) Not a boolean value: False

在使用SQLAlchemy更新数据的时候,出现如下错误:

sqlalchemy.exc.StatementError: (builtins.TypeError) Not a boolean value: False

[SQL: UPDATE ip_info SET is_mobile=%s, `rDNS`=%s, ip_connection_id=%s WHERE ip_info.id = %s]

[parameters: [{'is_mobile': (False,), 'rDNS': (None,), 'ip_connection_id': (8,), 'ip_info_id': 13234189}]]

出现错误的原因:

'is_mobile': (False,)这里多出了一个逗号。

具体代码如下:

get_ip_info.is_mobile = get_is_mobile,
get_ip_info.rDNS = get_r_dns,
get_ip_info.ip_connection_id = get_asn_id,
get_ip_info.ip_crawler_city_id = get_city_id
db.session.add(get_ip_info)
db.session.commit()
ip_info_id = get_ip_info.id

get_is_mobile后面不应该有逗号的。

解决方案:

修改代码如下:

get_ip_info.is_mobile = get_is_mobile
get_ip_info.rDNS = get_r_dns
get_ip_info.ip_connection_id = get_asn_id
get_ip_info.ip_crawler_city_id = get_city_id
db.session.add(get_ip_info)
db.session.commit()
ip_info_id = get_ip_info.id


参考资料:

1、Updating sqlalchemy with boolean value from form [closed]


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - sqlalchemy.exc.StatementError: (builtins.TypeError) Not a boolean value: False

分享到:

发表评论

评论列表