【问题标题】:Trouble with ".select()" Method in PeeweePeewee 中“.select()”方法的问题
【发布时间】:2016-10-16 06:02:09
【问题描述】:

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

player_in_db = Player.select().where(Player.name == player.name_display_first_last)

Player是模型的名字

namePlayer 中定义的字段实例...

class Player(Model):
      name = CharField()

player.name_display_first_last 是一个字符串

我收到一条错误消息,上面写着peewee.OperationalError: no such column: t1.name

我今天大部分时间都在尝试解决这个问题,但无济于事。任何帮助将非常感激。如果您需要更多信息来帮助我,请告诉我。谢谢。

【问题讨论】:

    标签: python database sqlite peewee datatable.select


    【解决方案1】:

    错误表明您缺少 Player 模型使用的表中的 name 列(名为 t1)。很可能您已经告诉 PeeWee 在具有名称字段之前为玩家创建表,或者您根本没有创建表。在创建表格之前,您应该始终尝试完全编写模型。

    如果您现在只是使用测试数据,您可以使用drop_table() 删除整个表,然后使用create_tables() 重新创建它。

    drop_tables(Player)
    create_tables([Player])
    

    【讨论】:

    • 我所做的是我定义了模型,然后说:
    • 对不起,我输入错误了。我定义了类,然后创建了表:db.create_tables([Player], safe=True)。我应该什么时候定义名称字段?
    猜你喜欢
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多