Skip to content

Commit bb59208

Browse files
authored
Update prek docs typing and links (#97)
1 parent 62591eb commit bb59208

18 files changed

Lines changed: 662 additions & 714 deletions

File tree

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@ jobs:
3030
- name: Run lint
3131
run: |
3232
source .venv/bin/activate
33-
chmod 755 pre-commit.sh
34-
./pre-commit.sh
33+
chmod 755 prek.sh
34+
./prek.sh

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ repos:
66
- id: check-toml
77

88
- repo: https://github.com/charliermarsh/ruff-pre-commit
9-
rev: v0.14.0
9+
rev: v0.15.10
1010
hooks:
1111
- id: ruff
1212
args:
@@ -15,7 +15,7 @@ repos:
1515
- id: ruff-format
1616

1717
- repo: https://github.com/astral-sh/uv-pre-commit
18-
rev: 0.9.0
18+
rev: 0.11.6
1919
hooks:
2020
- id: uv-lock
2121
- id: uv-export

README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,9 @@ pip install sqlalchemy-crud-plus
1313
### uv
1414

1515
```shell
16-
uv pip install sqlalchemy-crud-plus
17-
#
1816
uv add sqlalchemy-crud-plus
1917
```
2018

2119
## 文档
2220

2321
[SQLAlchemy CRUD Plus](https://fastapi-practices.github.io/sqlalchemy-crud-plus)
24-
25-
## 互动
26-
27-
[Discord](https://wu-clan.github.io/homepage/)

docs/advanced/filter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ recent_users = await user_crud.select_models(
278278

279279
## 注意事项
280280

281-
1. **参数命名**: 主键参数使用 `pk`避免与 Python 关键字 `id` 冲突
281+
1. **参数命名**: 主键参数使用 `pk`避免与常见字段名 `id` 混淆
282282
2. **自动主键检测**: 支持各种主键类型,包括字符串主键和复合主键
283283
3. **性能考虑**: 为常用过滤字段创建数据库索引
284284
4. **OR 查询**: 过多 OR 条件可能影响性能,合理使用

docs/advanced/relationship.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ users = await user_crud.select_models(
516516
2. 关联查询获取多表数据
517517
- 使用原生 `select(Model1, Model2).join()` 获取多表数据
518518
- 构建字典结果用于 API 返回
519-
- `JoinConfig` 主要用于过滤,不直接返回关联表数据
519+
- `JoinConfig` 默认主要用于过滤;如需返回关联表数据,设置 `fill_result=True`
520520

521521
3. 性能优化
522522
- 为关联字段添加索引

docs/advanced/transaction.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ async with async_session.begin() as session:
194194
await user_crud.update_model_by_column(
195195
session,
196196
obj={"is_active": True},
197+
allow_multiple=True,
197198
created_at__ge=datetime.now() - timedelta(days=1)
198199
)
199200
```

docs/getting-started/quick-start.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ await user_crud.update_model_by_column(
170170
await user_crud.delete_model(session, pk=1)
171171

172172
# 条件删除
173-
await user_crud.delete_model_by_column(session, is_active=False)
173+
await user_crud.delete_model_by_column(session, allow_multiple=True, is_active=False)
174174

175175
# 逻辑删除(推荐)
176176
await user_crud.delete_model_by_column(
@@ -241,6 +241,8 @@ users_dict = [
241241
{"name": "用户3", "email": "user3@example.com"}
242242
]
243243
users = await user_crud.bulk_create_models(session, users_dict)
244+
if users is None:
245+
print("当前数据库已写入数据,但不返回 ORM 实例")
244246

245247
# 批量更新不同数据
246248
users_update = [

docs/usage/crud.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ users_dict = [
3939
{"name": "用户5", "email": "user5@example.com"}
4040
]
4141
users = await user_crud.bulk_create_models(session, users_dict)
42+
43+
# 仅当数据库方言支持 executemany RETURNING 时,users 才会是模型列表
44+
if users is None:
45+
print("记录已插入,但当前方言不返回 ORM 实例")
4246
```
4347

4448
## 查询操作
@@ -323,13 +327,14 @@ async def batch_update_same_data(session: AsyncSession, update_data: dict, **fil
323327
return await user_crud.update_model_by_column(
324328
session,
325329
obj=update_data,
330+
allow_multiple=True,
326331
**filters
327332
)
328333
```
329334

330335
## 注意事项
331336

332-
1. **主键参数**: 由于 `id` 是 Python 关键字,主键参数使用 `pk`
337+
1. **主键参数**: 主键参数使用 `pk`,避免与常见字段名 `id` 混淆
333338
2. **事务管理**: 推荐使用 `async with session.begin()` 自动管理事务
334339
3. **flush vs commit**: `flush` 用于获取主键,`commit` 用于立即提交
335340
4. **复合主键**: 使用元组格式,如 `pk=(1, 2)`

mkdocs.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,6 @@ extra:
8888
- icon: fontawesome/brands/github
8989
link: https://github.com/fastapi-practices/sqlalchemy-crud-plus
9090
name: GitHub
91-
- icon: fontawesome/brands/discord
92-
link: https://discord.com/invite/yNN3wTbVAC
93-
name: Discord
9491

9592
extra_javascript:
9693
- https://unpkg.com/mermaid@10.9.0/dist/mermaid.min.js

pre-commit.sh

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)