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:
我目前正在做我自己的小项目,它是关于点击一个毫无意义的按钮。我正在 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: