1.常見的 SQLalchemy 列類型
| 類型名稱 | python類型 | 描述 |
|---|---|---|
| Integer | int | 常規(guī)整形,通常為32位 |
| SmallInteger | int | 短整形,通常為16位 |
| BigInteger | int 或 long | 精度不受限整形 |
| Float | float | 浮點(diǎn)數(shù) |
| Numeric | decimal.Decimal | 定點(diǎn)數(shù) |
| String | str | 可變長度字符串 |
| Text | str | 可變長度字符串,適合大量文本 |
| Unicode | unicode | 可變長度Unicode字符串 |
| Boolean | bool | 布爾型 |
| Date | datetime.date | 日期類型 |
| Time | datetime.time | 時(shí)間類型 |
| Interval | datetime.timedelta | 時(shí)間間隔 |
| Enum | str | 字符列表 |
| PickleType | 任意Python對(duì)象 | 自動(dòng)Pickle序列化 |
| LargeBinary | str | 二進(jìn)制 |
·
·
2.常見的 SQLalchemy 列選項(xiàng)
| 可選參數(shù) | 描述 |
|---|---|
| primary_key | 如果設(shè)置為True,則為該列表的主鍵 |
| unique | 如果設(shè)置為True,該列不允許相同值 |
| index | 如果設(shè)置為True,為該列創(chuàng)建索引,查詢效率會(huì)更高 |
| nullable | 如果設(shè)置為True,該列允許為空。如果設(shè)置為False,該列不允許空值 |
| default | 定義該列的默認(rèn)值 |
·
·
3.常見的 SQLalchemy 關(guān)系選項(xiàng)
| 選項(xiàng)名 | 描述 |
|---|---|
| backref | 在關(guān)系的其他模型中添加一個(gè)反向引用 |
| primaryjoin | 顯式地指定兩個(gè)模型之間的鏈接條件。當(dāng)關(guān)系模糊時(shí)候這是必要的。 |
| lazy | 制定如何加載相關(guān)條目??赡苤涤校?select(使用標(biāo)準(zhǔn)select語句一氣呵成加載條目),immediate (當(dāng)源對(duì)象已經(jīng)加載后再加載條目),joined (立即加載條目,但作為鏈接),subquery(立即加載條目,但是作為子查詢),noload(條目用不加載),dynamic(返回一個(gè)查詢對(duì)象,可以在加載這些條目時(shí)進(jìn)一步提?。?/td> |
| uselist | 設(shè)置為False時(shí),使用一個(gè)標(biāo)量而不是列表 |
| order_by | 指定關(guān)系中條目的排序 |
| secondary | 在多對(duì)多關(guān)系中指定要使用的關(guān)聯(lián)表名稱 |
| secondaryjoin | 當(dāng) SQLalchemy 不能自己決定多對(duì)多關(guān)系的時(shí)候指定第二個(gè)鏈接條件 |