在python中使用peewee数据库时出现“没有这样的列”错误

时间:2016-10-15 20:07:20

标签: python database sqlite peewee

我正在制作一个撒尿数据库。在我的python代码中,我尝试从模型中检索可能为空的行:

player_in_db = Player.get(Player.name == player.name_display_first_last)

Player是模型的名称

namePlayer中定义的列:

name = CharField(max_length=25)

player.name_display_first_last是一个字符串

然后我检查player_in_db列表中是否有任何行:

if player_in_db:

然后我收到一条错误消息:

sqlite3.OperationalError: no such column: t1.name

如果需要,我可以给你更多的错误信息,但它很长并且引用了很多peewee包。

2 个答案:

答案 0 :(得分:0)

您创建的表可能没有name列。它非常容易检查。只需打开sqlite3 shell并运行:

sqlite3> .schema

或者您可以使用Peewee自己的自省方法:

db.get_columns('player')

您的模型(显然)需要与实际数据库中的模式相对应...

答案 1 :(得分:-1)

您的表“玩家”很可能没有定义主键。