def SelectCourseOperation(request, selected, sid): status = "" if sid == -1: student = StudentProfile.objects.get(userid=request.user) else: student = StudentProfile.objects.get(pk=sid) for item in selected: item = int(item) print 'dfdfdf:%s' % item select_course = SelectCourse.objects.filter( student=student, course__course_id__course_plan_id=item) print len(select_course) if select_course.count() == 0: course = Course.objects.get(pk=item) if course.int_nelepeo == course.class_capacity: status = status + u"课程“" + course.course_id.course_name + u"” 已经没有课余量,选课失败!" + "<br/>" #!!!!!! # it should be rewrite later # elif checkTimeCrash(course,student): # status=status+u"课程“"+course.course_id.course_name+u"” 与已选课程上课时间冲突,选课失败!"+"<br/>" elif SelectCourse.objects.filter( student=student, course__course_id=course.course_id): status = status + u"课程“" + course.course_id.course_name + u"” 相同课程计划课程已经选过,选课失败!" + "<br/>" else: print 'success' course.int_nelepeo = course.int_nelepeo + 1 course.save() course_select_item = SelectCourse(student=student, course=course) course_select_item.save() Score(select_obj=course_select_item).save() status = status + u"课程“" + course.course_id.course_name + u"” 选课成功!" + "<br/>" return simplejson.dumps({"status": status})
def snake_enter_score(): status = 'no response' # make sure scorehash is correct for the given score score = int(request.form['score']) scorehash = int(request.form['scorehash']) if math.sqrt(scorehash - 1337) == score: if request.form['SNAKE_BLOCK'] == '1': # create recording string recTurn = request.form['recTurn'] recFrame = request.form['recFrame'] recFood = request.form['recFood'] recData = urlencode({ 'recTurn': recTurn, 'recFrame': recFrame, 'recFood': recFood }) # add the new score playerName = g.user.username #request.form['playerName']#re.sub('[&=#<>]', '', request.form['playerName']) score = Score(player=playerName, score=score, recording=recData) db.session.add(score) db.session.commit() # reset the high scores. the game requests rec#.txt files 0-9 by # default, so the recid field must be updated for the high scores # clear out current high scores for score in Score.query.all(): score.recid = None db.session.add(score) db.session.commit() # update the recid field to set the new high scores scores = Score.query.order_by(Score.score.desc()).limit(10).all() for i in range(0, len(scores)): scores[i].recid = i db.session.add(scores[i]) db.session.commit() status = 'ok' else: status = 'snake block not present' else: status = 'invalid scorehash' return urlencode({'status': status})
from common.models import Score from common.models import SelectCourse select_set=SelectCourse.objects.filter(course__course_id__course_plan_id="1160165030") for item in select_set: if Score.objects.filter(select_obj=item).count() ==0 : s=Score(select_obj=item,attendance=0,homework=0,final=0,total=0) s.save()