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

批量初始化

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

录入成绩

crm 02--->讲师页面及逻辑的更多相关文章

  1. OJ2.0userInfo页面Modify逻辑bug修复,search功能逻辑实现

    这周的主要任务:userInfo页面Modify逻辑bug修复,search功能逻辑实现. (一)Modify逻辑bug修复: 这里存在的bug就是在我们不重置password的时候依照前面的逻辑是不 ...

  2. Flask 页面缓存逻辑,jinja2 过滤器,测试器

    回调接入点-页面缓存逻辑 from flask import Flask,request,render_template from werkzeug.contrib.cache import Simp ...

  3. 如何在UWP中统一处理不同设备间的页面回退逻辑

    已经有一段时间没有写博客来记录自己的学习点滴了.现在回想起来确实有些惭愧,期间经历了一些事情,到目前为止算是平息了,是时候该收收心来充实自己了. 在本篇缪文中,楼主打算给UWP开发的初学者讲述一个在开 ...

  4. crm 03--->销售页面及逻辑

    基本思路 销售  ------->使用的是customer表来操作 有两个页面: 未成交的客户 公共客户页面  ---  什么属于?  --> 三天未跟进,及十五天内未成交 url    ...

  5. (十二)微信小程序实现登陆页面+登陆逻辑

    微信小程序实现登陆页面 实现上面两个页面 第一个页面 <view> <!-- 上侧部分 --> <view class="top-view"> ...

  6. TP5指定讲师页面文章上下篇

    控制器代码 // 查询上下篇 $courseIds = model('course') ->where([ 'isdel' => 0, 'teacherid' => $teacher ...

  7. crm项目-需求分析

    ###############  crm需求分析    ############### 讲师和学生:1,批量生成上课记录,2,考勤点名,3,录入成绩,4,显示成绩5,上传作业,os模块,6,下载成绩, ...

  8. HTML5+CSS3学习笔记(二) 页面布局:HTML5新元素及其特性

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 本次学习HTML5的新标签元素有: <head ...

  9. 10.23 crm(3)

    2018-10-23 20:34:30 继续增加新的功能!在代码注释里面有! 越努力,越幸运!永远不要高估自己! 还有明天再加上rbca权限管理系统就完美了! 然后crm做完,再过几天不挂针一切好了也 ...

随机推荐

  1. iOS开发进阶 - 自定义UICollectionViewLayout实现瀑布流布局

    移动端访问不佳,请访问我的个人博客 最近项目中需要用到瀑布流的效果,但是用UICollectionViewFlowLayout又达不到效果,自己动手写了一个瀑布流的layout,下面是我的心路路程 先 ...

  2. MapReduce实现共同朋友问题

    答案: package com.duking.mapreduce; import java.io.IOException; import java.util.Set; import java.util ...

  3. SpringBoot创建定时任务

    之前总结过spring+quartz实现定时任务的整合http://www.cnblogs.com/gdpuzxs/p/6663725.html,而springboot创建定时任务则是相当简单. (1 ...

  4. MySQL 存储过程参数用法 in, out, inout

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 “in” 参数:跟 C 语言的函数参数的值传递类似 ...

  5. 数据可视化——matplotlib(2)

    导入相关模块 import matplotlib.pyplot as plt import numpy as np import pandas as pd 图表设置 添加X.Y轴标签以及图标标题 a ...

  6. 互联网公司面试必问的Redis题目

    Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到.Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点. 介绍:Redi ...

  7. C++(二十五) — 类的封装、实现

    1.类的封装.实现.对象的定义及使用 (1)类是一组对象的抽象化模型.类对象将数据及函数操作集合在一个实体中,只需要接口,而不需要知道具体的操作. 隐藏细节,模型化: 类内自由修改: 减少耦合,相当于 ...

  8. SpringBoot自动配置的实现原理

    之前一直在用SpringBoot框架,一直感觉SpringBoot框架自动配置的功能很强大,但是并没有明白它是怎么实现自动配置的,现在有空研究了一下,大概明白了SpringBoot框架是怎么实现自动配 ...

  9. 5.彻底理解volatile

    1. volatile简介 在上一篇文章中我们深入理解了java关键字synchronized,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其 ...

  10. linux 普通synflood攻击防范网络参数设置

    linux如何防SYN攻击 [root@web ~]# netstat -anp |awk '{print $6}'|sort|uniq -c |sort -rn 172 ESTABLISHED 59 ...