models.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from django.db import models
  2. # Create your models here.
  3. class Question(models.Model):
  4. ID = models.AutoField(primary_key=True)
  5. q = models.CharField(max_length=128)
  6. a1 = models.CharField(max_length=128)
  7. a2 = models.CharField(max_length=128)
  8. a3 = models.CharField(max_length=128)
  9. a4 = models.CharField(max_length=128)
  10. a5 = models.CharField(max_length=128, blank=True, null=True)
  11. answer = models.IntegerField()
  12. @staticmethod
  13. def get_random_question():
  14. return Question.objects.order_by('?')[:1]
  15. def search_id(self):
  16. return Question.objects.filter(ID=self.ID)
  17. class AnswerRecord(models.Model):
  18. user = models.CharField(max_length=128)
  19. mobile = models.IntegerField()
  20. department = models.CharField(max_length=128)
  21. question = models.CharField(max_length=128)
  22. result = models.CharField(max_length=8)
  23. your_answer = models.CharField(max_length=128)
  24. correct_answer = models.CharField(max_length=128, null=True)
  25. def add_record(self):
  26. AnswerRecord.objects.create(user=self.user, mobile=self.mobile, department=self.department,
  27. question=self.question, result=self.result,
  28. your_answer=self.your_answer, correct_answer=self.correct_answer)
  29. def get_record(self):
  30. return AnswerRecord.objects.filter(user=self.user, mobile=self.mobile)
  31. class Scores(models.Model):
  32. user = models.CharField(max_length=128)
  33. mobile = models.IntegerField()
  34. department = models.CharField(max_length=128)
  35. sex = models.CharField(max_length=8, blank=True, null=True)
  36. age_range = models.CharField(max_length=128, blank=True, null=True)
  37. score = models.FloatField()
  38. start_time = models.DateTimeField(auto_now=True)
  39. total_time = models.IntegerField()
  40. address = models.CharField(max_length=255)
  41. # def add_score(self):
  42. # Scores.objects.create(user=self.user, mobile=self.mobile, department=self.department, score=self.score,
  43. # total_time=self.total_time, address=self.address)
  44. @staticmethod
  45. def find_score(mobile_number):
  46. result = Scores.objects.filter(mobile=mobile_number)
  47. if len(result) == 0:
  48. return False
  49. else:
  50. return True
  51. @staticmethod
  52. def get_score_list():
  53. return Scores.objects.all().order_by('total_time').order_by('-score')[0:10]