瓶中之数据库框架和模型类一:SQLAlchemy配置说明,字段类型,约束条件

  

<强> Python数据库框架

  
 <代码> # pip安装flask-sqlalchemy * * * *
  数据库引擎URL
  MySQL MySQL://用户名:password@hostname/数据库
  Postgres postgresql://用户名:password@hostname/数据库
  SQLite (Unix) SQLite://///数据库/绝对路径
  SQLite (Windows) SQLite:///c://数据库/绝对路径
  
  #在这些URL中,主机名表示MySQL服务所在的主机,可以是本地主机(localhost),
  #也可以是远程服务器。数据库服务器上可以托管多个数据库,因此数据库表示要使用的
  #数据库名。如果数据库需要进行认证,用户名和密码表示数据库用户密令。
   
  
 <代码> #示例hello.py:配置数据库
  从flask.ext。sqlalchemy进口sqlalchemy
  basedir=os.path.abspath (os.path.dirname (__file__))
  应用=瓶(__name__)
  app.config [' SQLALCHEMY_DATABASE_URI ']=\
  sqlite:///+ os.path。加入(basedir data.sqlite)
  app.config [' SQLALCHEMY_COMMIT_ON_TEARDOWN ']=True
  db=SQLAlchemy(应用)
  #数据库对象是SQLAlchemy类的实例,表示程序使用的数据库,同时还获得了Flask-SQLAlchemy
  #提供的所有功能。 
  
 <代码> #定义模型
   
  
 <代码>示以5比2例你好。py:定义角色和用户模型
  类角色(db.Model):
  __tablename__=敖巧?
  id=db.Column (db。整数,primary_key=True)
  name=db.Column (db.String(64),独特的=True)
  def __repr__(自我):
  返回的% r> & lt;作用;% self.name
  类用户(db.Model):
  __tablename__='用户的
  id=db.Column (db。整数,primary_key=True)
  用户名=db.Column (db.String(64),独特的=True,指数=True)
  def __repr__(自我):
  返回的& lt;用户% r> % self.username
  #类变量__tablename__定义在数据库中使用的表名。
  #如果没有定义__tablename__, Flask-SQLAlchemy会使用一个默认名字,
  #但默认的表名没有遵守使用复数形式进行命名的约定,
  #所以最好由我们自己来指定表名。其余的类变量都是该模型的属性,被定义为# db.Column
  #类的实例。
  # db。列类构造函数的第一个参数是数据库列和模型属性的类型。 
  
 <代码>类型名Python类型说明
  整数int普通整数,一般是32位
  SmallInteger int取值范围小的整数一般是16位
  BigInteger int或长期不限制精度的整数
  浮浮浮点数
  数字的小数。十进制定点数
  字符串str变长字符串
  文本str变长字符串,对较长或不限长度的字符串做了优化
  Unicode Unicode变长Unicode字符串
  UnicodeText unicode对较长或不限长度的字符串做了优化
  布尔bool布尔值
  datetime日期。日日期期
  datetime。时间时间
  DateTime DateTime。datetime日期和时间
  间隔datetime。timedelta时间间隔
  Enum str一组字符串
  PickleType任何Python对象自动使用泡菜序列化
  LargeBinary str二进制文件 
  
 <代码> #最常使用的SQLAlchemy列选项,也即约束条件
  
  primary_key如果设为True,这列就是表的主键
  独特的如果设为True,这列不允许出现重复的值
  指数如果设为True,为这列创建索引,提升查询效率
  nullable如果设为True,这列允许使用空值,如果设为False,这列不允许使用空值
  默认为这列定义默认值
  医生字段说明
  
  # Flask-SQLAlchemy要求每个模型都要定义主键,这一列经常命名为id。 

瓶中之数据库框架和模型类一:SQLAlchemy配置说明,字段类型,约束条件