flask_sqlalchemy 创建数据库里面没有任何数据?求大佬指点!

本人第一次使用flask_sqlalchemy,遇到了一点问题,如下
使用的python版本为3.6,使用conda作为包管理器,并且已经成功安装了flask_sqlalchemy等相关依赖包.
项目简单目录如下:
app.py
db/
models/
__init__.py
todo.py
routes/
__init__.py
todo.py
static/
templates/
app.py文件内容如下:
#app.py
fromflaskimport(
Flask,
)
fromflask_sqlalchemyimportSQLAlchemy
importos
fromutilsimportrandom_str
app=Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']='sqlite:////'+os.path.join(app.root_path,'db','data.sqlite')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=False
app.secret_key=random_str()
db=SQLAlchemy(app)
#省略了一些无关代码
models/todo.py文件如下
#models/todo.py
importtime
fromappimportdb
classTodo(db.Model):
id=db.Column(db.Integer,primary_key=True)
title=db.Column(db.String(20))
completed=db.Column(db.Boolean,default=False)
ct=db.Column(db.Integer,default=int(time.time()))
def__init__(self,form):
self.title=form.get('title','')
self.completed=False
self.ct=int(time.time())
操作如下由于我使用的是conda,我在终端先激活环境,然后打开flaskshell:
#我的conda环境叫flask
$sourceactivateflask
(flask)$flaskshell
显示如下:
Python3.6.8|Anaconda,Inc.|(default,Dec292018,19:04:46)
[GCC4.2.1CompatibleClang4.0.1(tags/RELEASE_401/final)]ondarwin
App:app[production]
Instance:xxx/instance
>>>
然后我在flaskshell执行如下命令:
>>>fromappimportdb
>>>db.create_all()
问题如下:此时查看文件目录发现在models/下面存在data.sqlite文件,但是该文件里面没有任何内容,显示大小为0byte,以及我使用数据库管理软件查看发现里面没有任何表任何数据,同时如果我继续执行db.drop_all无法删除该数据库文件.
请问这种情况如何解决,我谷歌了一下没有找到答案,望能有前辈指点,不胜感激.
白猪掌柜的
浏览 291回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript