类型名 | python中类型 | 说明 |
Integer | int | 普通整数,一般是32位 |
SmallInteger | int | 取值范围小的整数,一般是16位 |
BigInteger | int或long | 不限制精度的整数 |
Float | float | 浮点数 |
Numeric | decimal.Decimal | 普通整数,一般是32位 |
String | str | 变长字符串 |
Text | str | 变长字符串,对较长或不限长度的字符串做了优化 |
Unicode | unicode | 变长Unicode字符串 |
UnicodeText | unicode | 变长Unicode字符串,对较长或不限长度的字符串做了优化 |
Boolean | bool | 布尔值 |
Date | datetime.date | 时间 |
Time | datetime.datetime | 日期和时间 |
LargeBinary | str | 二进制文件 |
选项名 | 说明 |
primary_key | 如果为True,代表表的主键 |
unique | 如果为True,代表这列不允许出现重复的值 |
index | 如果为True,为这列创建索引,提高查询效率 |
nullable | 如果为True,允许有空值,如果为False,不允许有空值 |
default | 为这列定义默认值 |
选项名 | 说明 |
backref | 在关系的另一模型中添加反向引用 |
primary join | 明确指定两个模型之间使用的联结条件 |
uselist | 如果为False,不使用列表,而使用标量值 |
order_by | 指定关系中记录的排序方式 |
secondary | 指定多对多中记录的排序方式 |
secondary join | 在SQLAlchemy中无法自行决定时,指定多对多关系中的二级联结条件 |
过滤器 | 说明 | 示例 |
filter(条件) | 返回符合该条件的查询集,BaseQuery对象 | Book.query.filter(Book.id==1) |
filter_by() | 返回符合该等值条件的查询集 | Book.query.filter_by(id=1) |
limit | 使用指定的值限定原查询返回的结果 | |
offset() | 偏移原查询返回的结果,返回一个新查询集 | |
order_by() | 根据字段进行排序,默认是正序,返回新查询集,desc可以反序 | Book.query.order_by(Book.id) Book.query.order_by(Book.id.desc) |
group_by() | 根据字段进行分组,返回新查询集合 |
方法 | 说明 | 示例 |
all() | 以列表形式返回查询的所有结果 | Book.query.filter(Book.id==1).all() |
first() | 返回查询的第一个结果,如果未查到,返回None | Book.query.filter(Book.id==1).first() |
first_or_404() | 返回查询的第一个结果,如果未查到,返回404 | |
get() | 返回指定主键对应的行,如不存在,返回None | Book.query.get(1) |
get_or_404() | 返回指定主键对应的行,如不存在,返回404 | |
count() | 返回查询结果的数量 | Book.query.count() |
paginate() | 返回一个Paginate对象,它包含指定范围内的结果,参数一:第几页,参数二:每页个数,参数3:如果没有该页数返回False | Book.query.paginate(2,3,False) |
创建迁移文件夹 | python xxx.py db init |
生成当前版本迁移文件 | python xxx.py db migrate -m '版本说明' |
执行当前本迁移文件 | python xxx.py db upgrade |
回退一个迁移版本 | python xxx.py db downgrade |
查看迁移历史记录 | python xxx.py db history |
向上迁移到指定版本 | python xxx.py db upgrade 版本号 |
向下迁移到指定版本 | python xxx.py db downgrade 版本号 |
查看当前迁移版本 | python xxx.py db current |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |