docs: 修正计划中 Task2/Task3 的 import 顺序,避免 ruff F401

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-05 01:23:01 -06:00
parent 196e8a4532
commit bffda7aa95

View File

@@ -315,10 +315,18 @@ def resolve_tags(names):
- [ ] **Step 2: 在 `problem/views/admin.py` 换掉四处重复逻辑** - [ ] **Step 2: 在 `problem/views/admin.py` 换掉四处重复逻辑**
先改 import。`problem/views/admin.py:22` 那行 `from ..models import Problem, ProblemTag` 保持不变(`ProblemTag` 后面 Task 3 还要用),在 `problem/views/admin.py:35` `from ..utils import generate_sql_display` 后面加一行 先改 import。本任务替换掉 admin.py 里**全部** `ProblemTag` 的用法,所以 `problem/views/admin.py:22` 那行必须去掉 `ProblemTag`,否则 `ruff check .` 会报 F401
```python ```python
from ..services import clear_tag_cache, find_tags, resolve_tags from ..models import Problem
```
Task 3 会把它加回来。)
`problem/views/admin.py:35``from ..utils import generate_sql_display` 后面加一行:
```python
from ..services import resolve_tags
``` ```
然后把下面四处替换掉(每处都是 `problem.tags.set(resolve_tags(tags))` 一行): 然后把下面四处替换掉(每处都是 `problem.tags.set(resolve_tags(tags))` 一行):
@@ -402,13 +410,7 @@ from ..services import clear_tag_cache, find_tags, resolve_tags
return self.success() return self.success()
``` ```
> `clear_tag_cache` 和 `find_tags` 这一步还没有调用点Task 3、4 才用到。为了让 `ruff check .` 不报 F401 未使用 import**这一步先只 import `resolve_tags`** > `clear_tag_cache` 和 `find_tags` 定义在 `services.py` 里但本任务还没有调用点Task 3、4 才用到。它们是模块级函数定义、不是 import`ruff check .` 不会报未使用。Task 3 和 Task 4 会各自把需要的名字加进 `from ..services import ...` 这行。
```python
from ..services import resolve_tags
```
Task 3 和 Task 4 会各自把需要的名字加进这行 import。
- [ ] **Step 3: 验证四处替换后行为一致** - [ ] **Step 3: 验证四处替换后行为一致**
@@ -485,12 +487,20 @@ class EditTagSerializer(serializers.Serializer):
- [ ] **Step 2: 在 `problem/views/admin.py` 加 `TagAdminAPI`** - [ ] **Step 2: 在 `problem/views/admin.py` 加 `TagAdminAPI`**
先把 Task 2 加的那行 import 扩成 先把 Task 2 改过的模型 import 加回 `ProblemTag`(本任务的新视图要用)
```python
from ..models import Problem, ProblemTag
```
再把 Task 2 加的 services import 扩成:
```python ```python
from ..services import clear_tag_cache, resolve_tags from ..services import clear_tag_cache, resolve_tags
``` ```
> 本任务的 `TagAdminAPI` 没有用到 `resolve_tags`,但 Task 2 的四处题目保存逻辑仍在用它,所以这行保留 `resolve_tags` 不会触发 F401。
再把 `problem/views/admin.py:23-34` 的序列化器 import 块里加上 `EditTagSerializer``TagAdminSerializer`保持字母序ruff 的 I 规则会检查): 再把 `problem/views/admin.py:23-34` 的序列化器 import 块里加上 `EditTagSerializer``TagAdminSerializer`保持字母序ruff 的 I 规则会检查):
```python ```python