Files
zycandClaude Opus 4.8 1d5c2c0910 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>
2026-06-29 19:26:36 +08:00

19 lines
1.0 KiB
Python

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}")