This commit is contained in:
2026-04-23 13:57:56 -06:00
parent 0c6de0babe
commit 028ea6e5f9
93 changed files with 321 additions and 1454 deletions

View File

@@ -1,8 +1,9 @@
from django.db import models
from django.utils.timezone import now
from account.models import User
from problem.models import Problem
from utils.models import RichTextField, JSONField
from utils.models import JSONField, RichTextField
class ProblemSet(models.Model):

View File

@@ -1,8 +1,9 @@
from utils.api import UsernameSerializer, serializers
from .models import (
ProblemSet,
ProblemSetProblem,
ProblemSetBadge,
ProblemSetProblem,
ProblemSetProgress,
UserBadge,
)

View File

@@ -1,10 +1,12 @@
# 题单应用信号处理
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
from .models import ProblemSetProblem, ProblemSetProgress, ProblemSetBadge, UserBadge
from django.db import transaction
import logging
from django.db import transaction
from django.db.models.signals import post_delete, post_save
from django.dispatch import receiver
from .models import ProblemSetBadge, ProblemSetProblem, ProblemSetProgress, UserBadge
logger = logging.getLogger(__name__)

View File

@@ -1,13 +1,14 @@
from django.urls import path
from problemset.views.oj import (
ProblemSetAPI,
ProblemSetBadgeAPI,
ProblemSetDetailAPI,
ProblemSetProblemAPI,
ProblemSetProgressAPI,
ProblemSetUserProgressAPI,
UserBadgeAPI,
UserProgressAPI,
ProblemSetBadgeAPI,
ProblemSetUserProgressAPI,
)
urlpatterns = [

View File

@@ -1,28 +1,27 @@
from django.db.models import Q
from utils.api import APIView, validate_serializer
from account.decorators import super_admin_required, ensure_created_by
from account.decorators import ensure_created_by, super_admin_required
from problem.models import Problem
from problemset.models import (
ProblemSet,
ProblemSetProblem,
ProblemSetBadge,
ProblemSetProblem,
ProblemSetProgress,
)
from problemset.serializers import (
ProblemSetSerializer,
ProblemSetListSerializer,
CreateProblemSetSerializer,
EditProblemSetSerializer,
ProblemSetProblemSerializer,
AddProblemToSetSerializer,
EditProblemInSetSerializer,
ProblemSetBadgeSerializer,
CreateProblemSetBadgeSerializer,
CreateProblemSetSerializer,
EditProblemInSetSerializer,
EditProblemSetBadgeSerializer,
EditProblemSetSerializer,
ProblemSetBadgeSerializer,
ProblemSetListSerializer,
ProblemSetProblemSerializer,
ProblemSetProgressSerializer,
ProblemSetSerializer,
)
from problem.models import Problem
from utils.api import APIView, validate_serializer
class ProblemSetAdminAPI(APIView):

View File

@@ -1,31 +1,28 @@
from django.db.models import Q, Avg, Count, Prefetch
from django.db.models import Avg, Count, Prefetch, Q
from django.utils import timezone
from utils.api import APIView, validate_serializer
from account.models import User
from problem.models import Problem
from problemset.models import (
ProblemSet,
ProblemSetProblem,
ProblemSetBadge,
ProblemSetProblem,
ProblemSetProgress,
ProblemSetSubmission,
UserBadge,
)
from problemset.serializers import (
ProblemSetSerializer,
JoinProblemSetSerializer,
ProblemSetBadgeSerializer,
ProblemSetListSerializer,
ProblemSetProblemSerializer,
ProblemSetBadgeSerializer,
ProblemSetProgressSerializer,
UserBadgeSerializer,
JoinProblemSetSerializer,
ProblemSetSerializer,
UpdateProgressSerializer,
UserBadgeSerializer,
)
from submission.models import Submission
from problem.models import Problem
from utils.api import APIView, validate_serializer
class ProblemSetAPI(APIView):