Files
SMANAGE/gvsds/apps/rollcall/models.py
T
TermiNexus f8d356f3ff chore(baseline): 注册 RollCall/Viper/Venom 子域与站点,补 rollcall 应用
Main.py:WHITE_HOSTS 增 rollcall/viper/venom 主机,STATIC_SITES 增 rollcall/venom 静态根,静态站点路由下 /API/ 前缀请求转交 Django 处理。

gvsds:settings.py 注册 gvsds.apps.rollcall,urls.py 挂载 API/RollCall/;新增 rollcall 应用(模型/视图/路由/迁移 + RollCallManager 数据访问层)与 TempLate/rollcall 前端站点。

.gitignore:排除 Viper/Venom 前端工程与部署产物、TempLate/FTP 二进制分发目录。
2026-09-14 12:30:06 +08:00

28 lines
1.2 KiB
Python

"""RollCall 数据模型——课堂点名数据持久化(单表 JSON 整体存储)。
学生 / 题目 / 课堂记录以 JSON 数组整体存于一行(DataKey 数据槽),
与前端原始 localStorage 结构完全一致(students/questions/history),
GET 整体读取、POST 整体覆盖,保持前端最小改动。
"""
from django.db import models
class RollCallData(models.Model):
"""点名数据槽——一个 DataKey 对应一份完整点名数据(默认 main 单班)"""
DataKey = models.CharField(max_length=32, primary_key=True, default='main', db_column='DataKey', verbose_name='数据槽')
Students = models.JSONField(default=list, db_column='Students', verbose_name='学生列表')
Questions = models.JSONField(default=list, db_column='Questions', verbose_name='题库列表')
History = models.JSONField(default=list, db_column='History', verbose_name='课堂记录')
UpdatedAt = models.DateTimeField(auto_now=True, db_column='UpdatedAt', verbose_name='更新时间')
class Meta:
db_table = 'rollcall_data'
app_label = 'rollcall'
verbose_name = '点名数据'
verbose_name_plural = '点名数据'
def __str__(self):
return f'RollCallData[{self.DataKey}]'