chore(bug/qa): 归档测试清单、bug 报告与 QA 诊断脚本
- core/bug: 各轮电商项目测试清单 xlsx + 验证报告/套图提示词梳理 md - core/qa: consumption_summary / diag_login / diag_sessions / probe_usage 诊断脚本 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import os, sys
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "backend"))
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "airshelf.settings.development")
|
||||
import django; django.setup()
|
||||
from apps.accounts.models import LoginSession
|
||||
from rest_framework.authtoken.models import Token
|
||||
|
||||
print("=== 最近 30 条成功登录(LoginSession) ===")
|
||||
for s in LoginSession.objects.select_related("user").order_by("-created_at")[:30]:
|
||||
fields = {f.name: getattr(s, f.name) for f in s._meta.fields}
|
||||
extra = {k: v for k, v in fields.items() if k not in ("id", "user", "created_at", "updated_at")}
|
||||
print(f" {s.created_at:%Y-%m-%d %H:%M:%S} user={s.user.username:18} {extra}")
|
||||
|
||||
print(f"\n LoginSession 总数 = {LoginSession.objects.count()}")
|
||||
print(f" 现存 Token(已登录会话) 数 = {Token.objects.count()}")
|
||||
print("\n=== 现存 Token 的用户 + 签发时间 ===")
|
||||
for t in Token.objects.select_related("user").order_by("-created")[:30]:
|
||||
print(f" {t.created:%Y-%m-%d %H:%M:%S} {t.user.username}")
|
||||
Reference in New Issue
Block a user