TypeError:制作peewee模型时,'str'对象不可调用

时间:2019-01-01 13:27:43

标签: python python-3.x peewee

我目前正在开发自己的小项目,该项目是单击无意义的按钮。我正在使用tkinter和peewee在python中进行制作,以便能够存储保存,以便用户/播放器可以从他们离开的地方继续。

当我创建一个“保存”函数时,但是当我在peewee中创建模型时,却给了我一个错误:

TypeError:“ str”对象不可调用

我的模型类如下:

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)

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

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

谢谢!

安德烈(Andrei)

1 个答案:

答案 0 :(得分:1)

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

class Score(Model):
    save = CharField()

查看文档。

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

  

字段命名冲突

     

模型类实现许多类方法和实例方法,例如Model.save()或Model.create()。如果声明名称与模型方法一致的字段,则可能会引起问题。考虑: