You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Peewee ORM报错‘no such table: Tasks’求助

解决Peewee提示"no such table: Tasks"的问题
  • 检查模型类的表名配置
    确认你的TaskModel是否正确指定了表名。Peewee默认会将模型类名转换为蛇形复数(比如TaskModel默认对应task_models表),如果你的实际表名是Tasks,需要在模型的Meta类里显式指定:

    class TaskModel(Model):
        # 示例字段定义
        creation_date = DateTimeField(default=datetime.datetime.now)
        # 其他业务字段...
    
        class Meta:
            database = your_db_instance  # 替换为你的数据库实例
            table_name = 'Tasks'  # 确保此处表名与错误提示的完全一致
    
  • 确保已执行表创建操作
    Peewee不会自动生成数据库表,必须在程序启动阶段手动触发创建逻辑。在初始化数据库连接后,添加以下代码:

    # 假设你的数据库实例为db
    db.connect()
    db.create_tables([TaskModel], safe=True)  # safe=True避免重复创建表时抛出错误
    
  • 验证数据库文件路径
    检查Sqlite3数据库实例的路径是否正确。如果路径错误,Peewee会自动创建一个全新的空数据库,自然不存在Tasks表。建议使用绝对路径避免路径歧义:

    # 示例:使用绝对路径指向数据库文件
    from pathlib import Path
    db_path = Path(__file__).parent / "tasks.db"
    db = SqliteDatabase(db_path)
    
  • 确认表名全局一致性
    检查所有涉及表名的代码(模型定义、查询语句)是否统一,避免出现模型指定tasks但实际期望Tasks的大小写或命名不一致问题。

内容的提问来源于stack exchange,提问作者user26482297

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 01:37:04