1.常见的 SQLalchemy 列类型
类型名称 | python类型 | 描述 |
---|---|---|
Integer | int | 常规整形,通常为32位 |
SmallInteger | int | 短整形,通常为16位 |
BigInteger | int 或 long | 精度不受限整形 |
Float | float | 浮点数 |
Numeric | decimal.Decimal | 定点数 |
String | str | 可变长度字符串 |
Text | str | 可变长度字符串,适合大量文本 |
Unicode | unicode | 可变长度Unicode字符串 |
Boolean | bool | 布尔型 |
Date | datetime.date | 日期类型 |
Time | datetime.time | 时间类型 |
Interval | datetime.timedelta | 时间间隔 |
Enum | str | 字符列表 |
PickleType | 任意Python对象 | 自动Pickle序列化 |
LargeBinary | str | 二进制 |
·
·
2.常见的 SQLalchemy 列选项
可选参数 | 描述 |
---|---|
primary_key | 如果设置为True,则为该列表的主键 |
unique | 如果设置为True,该列不允许相同值 |
index | 如果设置为True,为该列创建索引,查询效率会更高 |
nullable | 如果设置为True,该列允许为空。如果设置为False,该列不允许空值 |
default | 定义该列的默认值 |
·
·
3.常见的 SQLalchemy 关系选项
选项名 | 描述 |
---|---|
backref | 在关系的其他模型中添加一个反向引用 |
primaryjoin | 显式地指定两个模型之间的链接条件。当关系模糊时候这是必要的。 |
lazy | 制定如何加载相关条目。可能值有: select(使用标准select语句一气呵成加载条目),immediate (当源对象已经加载后再加载条目),joined (立即加载条目,但作为链接),subquery(立即加载条目,但是作为子查询),noload(条目用不加载),dynamic(返回一个查询对象,可以在加载这些条目时进一步提取) |
uselist | 设置为False时,使用一个标量而不是列表 |
order_by | 指定关系中条目的排序 |
secondary | 在多对多关系中指定要使用的关联表名称 |
secondaryjoin | 当 SQLalchemy 不能自己决定多对多关系的时候指定第二个链接条件 |