This commit is contained in:
2026-03-31 23:21:27 -06:00
parent 8791d5d0cd
commit e502f69934

View File

@@ -7,6 +7,7 @@ from ninja.pagination import paginate
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.db.models import Avg, Count, F, IntegerField, Max, OuterRef, Q, Subquery from django.db.models import Avg, Count, F, IntegerField, Max, OuterRef, Q, Subquery
from prompt.models import Conversation, Message
from .schemas import ( from .schemas import (
@@ -38,11 +39,9 @@ def create_submission(request, payload: SubmissionIn):
task = get_object_or_404(Task, id=payload.task_id) task = get_object_or_404(Task, id=payload.task_id)
if payload.prompt: if payload.prompt:
from prompt.models import Conversation, Message
from django.db.models import Count as _Count
conversation = ( conversation = (
Conversation.objects.filter(user=request.user, task=task) Conversation.objects.filter(user=request.user, task=task)
.annotate(msg_count=_Count("messages")) .annotate(msg_count=Count("messages"))
.order_by("-msg_count", "-created") .order_by("-msg_count", "-created")
.first() .first()
) )
@@ -64,6 +63,16 @@ def create_submission(request, payload: SubmissionIn):
) )
from .classifier import classify_conversation_messages from .classifier import classify_conversation_messages
threading.Thread(target=classify_conversation_messages, args=(conversation.id,), daemon=True).start() threading.Thread(target=classify_conversation_messages, args=(conversation.id,), daemon=True).start()
else:
conversation = (
Conversation.objects.filter(user=request.user, task=task)
.annotate(msg_count=Count("messages"))
.order_by("-msg_count", "-created")
.first()
)
if conversation:
from .classifier import classify_conversation_messages
threading.Thread(target=classify_conversation_messages, args=(conversation.id,), daemon=True).start()
Submission.objects.create( Submission.objects.create(
user=request.user, user=request.user,