gpt4 book ai didi

python - 'no such table' 错误

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:13 24 4
gpt4 key购买 nike

我正在尝试使用 Flask 和 peewee 将数据放入数据库,但遇到以下错误:peewee.OperationalError: no such table: post

我的 models.py 文件如下:

from peewee import *
import datetime

db = SqliteDatabase('posts.db') #create database to interact with

#create a class for blogposts
class Post(Model):
id = PrimaryKeyField()
date = DateTimeField(default = datetime.datetime.now)
title = CharField()
text = TextField()

class Meta:
database = db

def initialize_db():
db.connect()
db.create_tables([Post], safe = True)
db.close()

我用谷歌搜索过这个,对于大多数人来说,缺少“db.create_tables()”似乎是问题所在。显然,它在我的代码中,所以我真的不确定错误来自哪里。一些建议将不胜感激。当我尝试使用另一个 .py 文件填充“文本”字段时,问题似乎特别出现。

最佳答案

我将您的代码改编为以下代码片段,它对我有用:

from peewee import *
import datetime

db = SqliteDatabase('posts.db') #create database to interact with

#create a class for blogposts
class Post(Model):
id = PrimaryKeyField()
date = DateTimeField(default = datetime.datetime.now)
title = CharField()
text = TextField()

class Meta:
database = db

def initialize_db():
db.connect()
db.create_tables([Post], safe = True)
db.close()

initialize_db() #if db tables are not created, create them
post = Post.create(id=4, title="Some title", text="some text1") #add a new row
post.save() #persist it to db, not necessarily needed

创建新的 Post(即数据库中的新行)时,您需要调用 create 方法。除此之外,initialize_db() 似乎工作得很好。

如果您无法对数据库执行任何写入操作,请确保您在尝试执行此操作的目录中具有写入权限(在本例中为您的工作目录)

关于python - 'no such table' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com