from django.db import models # Create your models here. class Question(models.Model): ID = models.AutoField(primary_key=True) q = models.CharField(max_length=128) a1 = models.CharField(max_length=128) a2 = models.CharField(max_length=128) a3 = models.CharField(max_length=128) a4 = models.CharField(max_length=128) a5 = models.CharField(max_length=128, blank=True, null=True) answer = models.IntegerField() @staticmethod def get_random_question(): return Question.objects.order_by('?')[:1] def search_id(self): return Question.objects.filter(ID=self.ID) class AnswerRecord(models.Model): user = models.CharField(max_length=128) mobile = models.IntegerField() department = models.CharField(max_length=128) question = models.CharField(max_length=128) result = models.CharField(max_length=8) your_answer = models.CharField(max_length=128) correct_answer = models.CharField(max_length=128, null=True) def add_record(self): AnswerRecord.objects.create(user=self.user, mobile=self.mobile, department=self.department, question=self.question, result=self.result, your_answer=self.your_answer, correct_answer=self.correct_answer) def get_record(self): return AnswerRecord.objects.filter(user=self.user, mobile=self.mobile) class Scores(models.Model): user = models.CharField(max_length=128) mobile = models.IntegerField() department = models.CharField(max_length=128) sex = models.CharField(max_length=8, blank=True, null=True) age_range = models.CharField(max_length=128, blank=True, null=True) score = models.FloatField() start_time = models.DateTimeField(auto_now=True) total_time = models.IntegerField() address = models.CharField(max_length=255) # def add_score(self): # Scores.objects.create(user=self.user, mobile=self.mobile, department=self.department, score=self.score, # total_time=self.total_time, address=self.address) @staticmethod def find_score(mobile_number): result = Scores.objects.filter(mobile=mobile_number) if len(result) == 0: return False else: return True @staticmethod def get_score_list(): return Scores.objects.all().order_by('total_time').order_by('-score')[0:10]