0

我需要在 peewee 的帮助下更新我的 MySQL 数据库中的现有条目,并且遇到了一个非常奇怪的问题。

当我将数字保存为字符串时,保存后会添加一些新字符。

例如,当我运行以下代码时:

obj = mydbtable.get(mydbtable.zid == zid)
myval = "10"
obj.myfield = myval
obj.save()

我在我的 PhpMyAdmin 中得到以下字符串:

(10,)

因此 的值myval(10,)在保存后而不是10.

老实说,我不知道是什么导致了这个问题,因为我已经多次完成相同的保存任务并且总是像魅力一样工作。我什至尝试将变量作为 an 传递,int但得到了相同的结果。

更新

在 save 之后obj,调用以下方法可以解决问题,但是这种解决方法有点矫枉过正,不是最优雅的解决方案:

    objy = mydbtable.get(mydbtable.zid == zid)
    ooo = objy.myfield
    objy.myfield = ooo.replace(',','').replace(')','').replace('(','').replace("'","")
    objy.save()
4

1 回答 1

1

看起来您正在为该字段分配一个元组,而不是一个字符串或数字。我不确定您的源数据来自哪里,但如果没有别的,请检查尾随逗号。

于 2019-08-15T17:20:40.417 回答