TypeError: 'str' object is not callable when making a peewee model

TypeError: 'str' object is not callable when making a peewee model

我目前正在做我自己的小项目,它是关于点击一个毫无意义的按钮。我正在 python 使用 tkinter 和 peewee 来存储保存,以便 user/player 可以从他们离开的地方继续。

当我制作一个 'save' 函数时,但是当我在 peewee 中创建一个模型时它给了我一个错误:

类型错误:'str' 对象不可调用

我的模型 class 看起来像这样:

db = SqliteDatabase("scores.db")


class Score(Model):
    save = CharField()
    score = IntegerField()

    class Meta:
        database = db

保存进度的函数如下所示:

def save_progress():
    global score_number
    # score_number signifies the score of the game(how many times the button has been clicked)
    saves_length = int(Score.select().count())
    save = "save{}".format(saves_length+1)
    Score.create(save=save, score=score_number)

错误上线:

Score.create(save=save, score=score_number)

我不明白为什么它说我正在调用一个字符串对象,因为我不认为我是。

有人可以向我解释一下我在代码中做错了什么吗?

谢谢!

安德烈

Score class 有一个名为 save 的函数,您将其更改为 str。稍后调用它将该行存储到数据库中。

class Score(Model):
    save = CharField()

查看文档。

http://docs.peewee-orm.com/en/latest/peewee/models.html

Field-naming conflicts

Model classes implement a number of class- and instance-methods, for example Model.save() or Model.create(). If you declare a field whose name coincides with a model method, it could cause problems. Consider: