feat: filter image tasks by input count

This commit is contained in:
QiuSW
2026-07-20 09:03:23 +08:00
parent 33d744d6a9
commit 5dc60a204a
6 changed files with 92 additions and 6 deletions
+5
View File
@@ -2045,3 +2045,8 @@
- 状态:TODO,仅登记任务,未改代码、数据库、接口、计费、worker 或线上服务。
- 范围:在 django-admin 图片生成任务列表右侧增加“输入图片类型”筛选,按已有子输入图数量识别单图 / 多图,并兼容历史 `input_image` 单图任务;无输入图任务不归入这两类。
- 边界:使用数据库聚合筛选,不在 Python 遍历任务;不改任务详情缩略图、媒体文件、模型、迁移或对外接口。
## 2026-07-20 完成:T-623 图片生成任务单图 / 多图筛选
- 实现:`ImageInputTypeFilter(SimpleListFilter)` 加入 `ImageGenerationTaskAdmin.list_filter`。筛选通过 `Count("input_images")` 生成数据库子查询:1 条子输入为新单图、2 条及以上为多图;无子输入但旧 `input_image` 有值的任务作为兼容单图;无输入任务不返回。结果仍为原 queryset,可与状态 / 日期过滤叠加,不在 Python 层遍历或去重。
- 验证:`C:/Python312/python.exe manage.py check` 通过;`manage.py test apps.api.tests.ImageGenerationTaskAdminTests --keepdb --noinput --verbosity 2` 通过,6 tests OK(T-622 画廊回归、新/旧单图、多图、无输入排除、状态组合、权限);`makemigrations --check --dry-run` 返回 No changes detected,期间开发库 `43.128.3.240` 出现一次既有连接超时 `WinError 10060` 警告;`./init.ps1` 通过;`git diff --check` 通过。