要求:
讲师   批量初始化   考勤   录入成绩

批量初始化

考勤与批量初始化这两个功能都要放在课程记录表中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]

录入成绩

05-11 17:43