fix: use request.admin_site in daily report views to avoid circular import

This commit is contained in:
ishenwei
2026-04-08 20:36:46 +08:00
parent 9412e7880d
commit 9542ebde73

View File

@@ -35,7 +35,6 @@ def daily_report_list_view(request):
.order_by("agent_name")
)
# Query messages within range, select_related session for efficiency
messages_qs = Message.objects.filter(
timestamp__date__gte=start_date,
timestamp__date__lte=end_date,
@@ -44,7 +43,6 @@ def daily_report_list_view(request):
if agent_filter:
messages_qs = messages_qs.filter(session__agent_name=agent_filter)
# Group by (agent_name, date) in Python — simple and reliable
groups = defaultdict(lambda: {"message_count": 0, "session_ids": set()})
for msg in messages_qs:
d = msg.timestamp.date()
@@ -52,7 +50,6 @@ def daily_report_list_view(request):
groups[key]["message_count"] += 1
groups[key]["session_ids"].add(msg.session.session_id)
# Build sorted list (newest first, then by agent)
groups_list = sorted(
[
{
@@ -66,8 +63,10 @@ def daily_report_list_view(request):
key=lambda x: (-x["date_val"].toordinal(), x["agent_name"]),
)
# Use request.admin_site (set by AdminSite.admin_view wrapper)
admin_site = getattr(request, "admin_site", admin.site)
context = {
**admin.site.each_context(request),
**admin_site.each_context(request),
"start_date": start_date,
"end_date": end_date,
"selected_agent": agent_filter,
@@ -112,8 +111,9 @@ def daily_report_detail_view(request, agent_name, year, month, day):
"system": "System",
}
admin_site = getattr(request, "admin_site", admin.site)
context = {
**admin.site.each_context(request),
**admin_site.each_context(request),
"agent_name": agent_name,
"target_date": target_date,
"sessions": sessions_with_messages,