学生管理系统代码提交
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# scheme/classes.py
|
||||
# 班级模块的请求/响应模型
|
||||
from datetime import date
|
||||
from typing import List, Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
# -------------------- 请求体模型 -----------------------------
|
||||
class ClassAdd(BaseModel):
|
||||
class_id: Optional[int] = Field(None, ge=1, description="班级ID(不传则自增)")
|
||||
class_name: str = Field(..., min_length=1, max_length=50, description="班级名称,如 Java2301")
|
||||
start_time: date = Field(..., description="开课时间,格式 YYYY-MM-DD")
|
||||
|
||||
|
||||
class ClassUpdate(BaseModel):
|
||||
class_name: Optional[str] = Field(None, min_length=1, max_length=50, description="班级名称")
|
||||
start_time: Optional[date] = Field(None, description="开课时间")
|
||||
|
||||
|
||||
# -------------------- 响应模型 ----------------------------
|
||||
class ClassResponse(BaseModel):
|
||||
class_id: int
|
||||
class_name: str
|
||||
start_time: date
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class ClassListResponse(BaseModel):
|
||||
total: int
|
||||
items: List[ClassResponse]
|
||||
|
||||
|
||||
class ClassStudentCountResponse(BaseModel):
|
||||
"""班级人数统计(多维度班级统计)"""
|
||||
class_id: int
|
||||
class_name: str
|
||||
total: int = Field(..., description="总人数")
|
||||
male: int = Field(..., description="男生人数")
|
||||
female: int = Field(..., description="女生人数")
|
||||
Reference in New Issue
Block a user