专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
目录
相关文章推荐
51好读  ›  专栏  ›  Python开发者

Flask 插件系列 - Flask-SQLAlchemy

Python开发者  · 公众号  · Python  · 2017-02-25 20:02

正文

请到「今天看啥」查看全文


String ( 120 ), unique = True )

def __init__ ( self , username , email ) :

self . username = username

self . email = email

def __repr__ ( self ) :

return ' ' % self . username


这里有几点需要注意的是:


  1. app 应用配置项 SQLALCHEMY_DATABASE_URI 指定了 SQLAlchemy 所要操作的数据库,这里我们使用的是 SQLite,数据库 URL 以 sqlite:/// 开头,后面的 db/users.db 表示数据库文件存放在当前目录的 db 子目录中的 users.db 文件。当然,你也可以使用绝对路径,如 /tmp/users.db 等。

  2. db 对象是 SQLAlchemy 类的实例,表示程序使用的数据库。

  3. 我们定义的 User 模型必须继承自 db.Model,这里的模型其实就对应着数据库中的表。其中,类变量__tablename__ 定义了在数据库中使用的表名,如果该变量没有被定义,Flask-SQLAlchemy 会使用一个默认名字。


接着,我们创建表和数据库。为此,我们先在当前目录创建 db 子目录和新建一个 users.db 文件,然后在交互式 Python shell 中导入 db 对象并调用 SQLAlchemy 类的 create_all() 方法:


$ mkdir db

$ python

>>> from app import db

>>> db . create_all ()


我们验证一下,”users” 表是否创建成功:


$ sqlite3 db / users . db # 打开数据库文件

SQLite version 3.8.10.2 2015 - 05 - 20 18 : 17 : 19

Enter ".help" for usage hints .

sqlite > . schema users # 查看 "user" 表的 schema

CREATE TABLE users (

id INTEGER NOT NULL ,

username VARCHAR ( 80 ),







请到「今天看啥」查看全文