我目前正在开发自己的小项目,该项目是单击无意义的按钮。我正在使用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)
答案 0 :(得分:1)
Score类具有一个名为save的函数,您已将其更改为str。稍后,它将被调用以将行存储到数据库中。
class Score(Model):
save = CharField()
查看文档。
http://docs.peewee-orm.com/en/latest/peewee/models.html
字段命名冲突
模型类实现许多类方法和实例方法,例如Model.save()或Model.create()。如果声明名称与模型方法一致的字段,则可能会引起问题。考虑: