sql orm 踩坑 can't set attribute
源代码查询
proxie = self.session.query(wichacha_ip).with_entities(wichacha_ip.ip, wichacha_ip.port, wichacha_ip.score)order_by(
wichacha_ip.update_time).first()
proxie.score += 1
self.session.add(proxie)
self.session.commit()
报错can’t set attribute,stack上有个回答说了查询实例是只读文本啥的,最终对比代码也没发现哪里不一样,base、model啥的都有,关键还是这里的with_entities,删去就实现修改了。猜测查询需要取全部结果,不能限定只取部分字段,这样会改变查询返回类型。