我正在制作一个撒尿数据库。在我的python代码中,我尝试从模型中检索可能为空的行:
player_in_db = Player.get(Player.name == player.name_display_first_last)
Player
是模型的名称
name
是Player
中定义的列:
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包。
答案 0 :(得分:0)
您创建的表可能没有name
列。它非常容易检查。只需打开sqlite3 shell并运行:
sqlite3> .schema
或者您可以使用Peewee自己的自省方法:
db.get_columns('player')
您的模型(显然)需要与实际数据库中的模式相对应...
答案 1 :(得分:-1)
您的表“玩家”很可能没有定义主键。