要求:
讲师 批量初始化 考勤 录入成绩
批量初始化
考勤与批量初始化这两个功能都要放在课程记录表中CourseRecord
# 批量初始化
# 将该班的所有学生,初始化带某一天,而不是将每个学生一个个添加到某天的学生记录中
首先将明确将初始化功能放到CourseRecord这张表
# 做批量初始化操作(将所有学生初始化到)
def patch_init(self,queryset): # 批量初始化
print(queryset) # 取到选中的对象 <QuerySet [<CourseRecord: python基础(8期) day105>, <CourseRecord: python基础(8期) day106>]> for course_record in queryset:
# 先找到8期的学生
student_list=Student.objects.filter(class_list=course_record.class_obj)
for student in student_list:
StudyRecord.objects.create(course_record=course_record,student=student) patch_init.desc = "批量初始化" # 中文描述 actions = [patch_init] # 添加进去
site.register(CourseRecord,CourseRecordConfig)
考勤
要筛选某天学生的考勤(基于课程记录)
def check(self,obj=None,is_header=False):
if is_header:
return "考勤记录" # 点击考勤跳转到studyrecord,再进行筛选显示内容
return mark_safe("<a href='/stark/app01/studyrecord/?course_record=%s'>考勤</a>"%obj.pk) list_display_links = ["class_obj"] # 设置编辑按钮
list_display = ["class_obj","day_num",check]