def addTwo(theme): namesId = Student.objects.filter(grade=theme.grade) score = Score.objects.filter(theme=theme) names = [] for each in namesId: studentName = Student.objects.get(pk=each.pk).name names.append(studentName) numOfTwoScores=0 for each in names: stud = Student.objects.get(name=each) listOfScores = score.filter(student_name=stud.pk) hours=int(theme.hours_count) numOfScores = 0 for scores in listOfScores: if scores.score<0: hours-=1 for scores in listOfScores: if scores.score>=0: numOfScores+=1 if hours>numOfScores: for i in range(hours-numOfScores): twoForStud = Score(grade=theme.grade,theme=theme,student_name=stud,score=2) twoForStud.save() numOfTwoScores+=1 print 'Добавлено '+str(numOfTwoScores)+' двоек'
def students(request): if request.method == "POST": form = StudentForm(request.POST) newstudent = "" if form.is_valid(): student = Student.objects.filter(teacher=request.user) if form.cleaned_data["name"] in student.values_list("name", flat=True): newstudent = "Student was already added to roster" else: form.save() form = StudentForm(initial={"teacher": request.user}) # Get the name of the most recent student instance. student = Student.objects.all().order_by("-pk")[0] newstudent = str(student.name) + " added to roster" newscore = Score(points=0, student_id=student.pk) newscore.save() else: form = StudentForm(initial={"teacher": request.user}) newstudent = "" return render_to_response( "student_form.html", {"form": form, "newstudent": newstudent}, context_instance=RequestContext(request) )
def handle(self, **options): themes = Theme.objects.filter() a=0 themesList = [] for each in themes: if each.hours_count*Student.objects.filter(grade=each.grade).count() > Score.objects.filter(theme=each).count(): print str(a)+' '+each.theme_name.encode('utf-8').strip() themesList.append(each.theme_name) a+=1 number = raw_input("Choose the theme: ") theme = Theme.objects.get(theme_name=themesList[int(number)]) namesId = Student.objects.filter(grade=theme.grade) score = Score.objects.filter(theme=theme) names = [] for each in namesId: studentName = Student.objects.get(pk=each.pk).name names.append(studentName) numOfTwoScores=0 for each in names: stud = Student.objects.get(name=each) listOfScores = score.filter(student_name=stud.pk) hours=int(theme.hours_count) numOfScores = 0 for scores in listOfScores: if scores.score<0: hours-=1 for scores in listOfScores: if scores.score>=0: numOfScores+=1 if hours>numOfScores: for i in range(hours-numOfScores): twoForStud = Score(grade=theme.grade,theme=theme,student_name=stud,score=2) twoForStud.save() numOfTwoScores+=1 print 'Добавлено '+str(numOfTwoScores)+' двоек'
def setsco(request, pk1, pk2): if request.method == 'POST': sco = request.POST.get('sco', '') cre = request.POST.get('cre', '') couid = pk1 stuid = pk2 newsco = Score() newsco.scoreStudent_id = stuid newsco.scoreCourse = couid newsco.scoreDate = sco newsco.scoreCredit = cre newsco.save() return HttpResponse('登记成功')
def vote(request): if request.method == u"GET": GET = request.GET if GET.has_key(u"pk") and GET.has_key(u"vote"): name = GET[u"pk"] vote = GET[u"vote"] record = Score.objects.filter(student__name=name).order_by("-pk")[0] if vote == u"plus": entry = Score(points=(record.points + 1), student_id=record.student_id) entry.save() elif vote == u"minus": entry = Score(points=(record.points - 1), student_id=record.student_id) entry.save() json = simplejson.dumps(entry.points) return HttpResponse(json, mimetype="application/json")